/* Automatically generated by tree-sitter v0.25.3 */ #include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 15 #define STATE_COUNT 733 #define LARGE_STATE_COUNT 3 #define SYMBOL_COUNT 181 #define ALIAS_COUNT 11 #define TOKEN_COUNT 83 #define EXTERNAL_TOKEN_COUNT 7 #define FIELD_COUNT 44 #define MAX_ALIAS_SEQUENCE_LENGTH 10 #define MAX_RESERVED_WORD_SET_SIZE 0 #define PRODUCTION_ID_COUNT 116 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { sym_identifier = 1, aux_sym_program_token1 = 2, anon_sym_COLON_COLON = 3, anon_sym_SEMI = 4, anon_sym_return = 5, anon_sym_COMMA = 6, anon_sym_LPAREN = 7, anon_sym_RPAREN = 8, sym_break = 9, anon_sym_if = 10, anon_sym_then = 11, anon_sym_end = 12, anon_sym_elseif = 13, anon_sym_else = 14, anon_sym_for = 15, anon_sym_EQ = 16, anon_sym_in = 17, anon_sym_while = 18, anon_sym_repeat = 19, anon_sym_until = 20, anon_sym_do = 21, anon_sym_not = 22, anon_sym_POUND = 23, anon_sym_DASH = 24, anon_sym_TILDE = 25, anon_sym_or = 26, anon_sym_and = 27, anon_sym_LT = 28, anon_sym_LT_EQ = 29, anon_sym_EQ_EQ = 30, anon_sym_TILDE_EQ = 31, anon_sym_GT_EQ = 32, anon_sym_GT = 33, anon_sym_PIPE = 34, anon_sym_AMP = 35, anon_sym_LT_LT = 36, anon_sym_GT_GT = 37, anon_sym_PLUS = 38, anon_sym_STAR = 39, anon_sym_SLASH = 40, anon_sym_SLASH_SLASH = 41, anon_sym_PERCENT = 42, anon_sym_DOT_DOT = 43, anon_sym_CARET = 44, anon_sym_is = 45, anon_sym_as = 46, anon_sym_type = 47, anon_sym_COLON = 48, anon_sym_LBRACK = 49, anon_sym_RBRACK = 50, anon_sym_LBRACE = 51, anon_sym_RBRACE = 52, anon_sym_DOT = 53, anon_sym_local = 54, anon_sym_global = 55, anon_sym_function = 56, anon_sym_macroexp = 57, anon_sym_DOT_DOT_DOT = 58, sym_optional_marker = 59, anon_sym_record = 60, anon_sym_interface = 61, anon_sym_enum = 62, anon_sym_userdata = 63, anon_sym_metamethod = 64, anon_sym_where = 65, anon_sym_goto = 66, aux_sym_number_token1 = 67, aux_sym_number_token2 = 68, aux_sym_number_token3 = 69, anon_sym_true = 70, anon_sym_false = 71, anon_sym_PERCENT2 = 72, sym_format_specifier = 73, sym_escape_sequence = 74, sym_nil = 75, sym_comment = 76, sym__long_string_start = 77, sym__long_string_char = 78, sym__long_string_end = 79, sym__short_string_start = 80, sym__short_string_char = 81, sym__short_string_end = 82, sym_program = 83, sym__statement = 84, sym_return_statement = 85, sym_if_statement = 86, sym_elseif_block = 87, sym_else_block = 88, sym_numeric_for_statement = 89, sym_generic_for_statement = 90, sym__for_statement = 91, sym_while_statement = 92, sym_repeat_statement = 93, sym_do_statement = 94, sym__expression = 95, sym_parenthesized_expression = 96, sym_unary_op = 97, sym_bin_op = 98, sym_type_cast = 99, sym_type_tuple = 100, sym_type_union = 101, sym_var_declarator = 102, sym_var_declarators = 103, sym_expressions = 104, sym_var_declaration = 105, sym__type_def = 106, sym_type_declaration = 107, sym_assignment_variables = 108, sym_var_assignment = 109, sym__prefix_expression = 110, sym_method_index = 111, sym_arguments = 112, sym_function_call = 113, sym_table_entry = 114, sym_table_constructor = 115, sym_function_name = 116, sym_function_statement = 117, sym_macroexp_statement = 118, sym__macroexp_def = 119, sym_macroexp_body = 120, sym_variadic_type = 121, sym_return_type = 122, sym__partype = 123, sym__parname = 124, sym_typearg = 125, sym_typeargs = 126, sym_anon_function = 127, sym__annotated_var_arg = 128, sym_signature_arguments = 129, sym_function_signature = 130, sym_function_body = 131, sym_record_field = 132, sym__record_entry = 133, sym_metamethod_annotation = 134, sym_record_body = 135, sym__record_def = 136, sym__interface_def = 137, sym_interface_declaration = 138, sym_record_declaration = 139, sym_enum_body = 140, sym__enum_def = 141, sym_enum_declaration = 142, sym_anon_interface = 143, sym_anon_record = 144, sym__anon_enum = 145, sym__newtype = 146, sym_type_annotation = 147, sym__type = 148, sym_typearg_params = 149, sym_type_index = 150, sym_simple_type = 151, sym_table_type = 152, sym_function_type_args = 153, sym_function_type = 154, sym_goto = 155, sym_index = 156, sym__var = 157, sym_varargs = 158, sym_number = 159, sym_boolean = 160, sym__short_string_content = 161, sym__long_string_content = 162, sym_string = 163, aux_sym_program_repeat1 = 164, aux_sym_return_statement_repeat1 = 165, aux_sym_if_statement_repeat1 = 166, aux_sym_generic_for_statement_repeat1 = 167, aux_sym_type_tuple_repeat1 = 168, aux_sym_var_declarators_repeat1 = 169, aux_sym_assignment_variables_repeat1 = 170, aux_sym_table_constructor_repeat1 = 171, aux_sym_function_name_repeat1 = 172, aux_sym__partypelist_repeat1 = 173, aux_sym__parnamelist_repeat1 = 174, aux_sym_typeargs_repeat1 = 175, aux_sym_record_body_repeat1 = 176, aux_sym_enum_body_repeat1 = 177, aux_sym_table_type_repeat1 = 178, aux_sym__short_string_content_repeat1 = 179, aux_sym__long_string_content_repeat1 = 180, alias_sym_attribute = 181, alias_sym_for_body = 182, alias_sym_interface_body = 183, alias_sym_label = 184, alias_sym_macroexp_declaration = 185, alias_sym_macroexp_signature = 186, alias_sym_record_array_type = 187, alias_sym_string_content = 188, alias_sym_typedef = 189, alias_sym_userdata = 190, alias_sym_while_body = 191, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", [aux_sym_program_token1] = "shebang_comment", [anon_sym_COLON_COLON] = "::", [anon_sym_SEMI] = ";", [anon_sym_return] = "return", [anon_sym_COMMA] = ",", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", [sym_break] = "break", [anon_sym_if] = "if", [anon_sym_then] = "then", [anon_sym_end] = "end", [anon_sym_elseif] = "elseif", [anon_sym_else] = "else", [anon_sym_for] = "for", [anon_sym_EQ] = "=", [anon_sym_in] = "in", [anon_sym_while] = "while", [anon_sym_repeat] = "repeat", [anon_sym_until] = "until", [anon_sym_do] = "do", [anon_sym_not] = "op", [anon_sym_POUND] = "op", [anon_sym_DASH] = "op", [anon_sym_TILDE] = "op", [anon_sym_or] = "op", [anon_sym_and] = "op", [anon_sym_LT] = "<", [anon_sym_LT_EQ] = "op", [anon_sym_EQ_EQ] = "op", [anon_sym_TILDE_EQ] = "op", [anon_sym_GT_EQ] = "op", [anon_sym_GT] = ">", [anon_sym_PIPE] = "|", [anon_sym_AMP] = "op", [anon_sym_LT_LT] = "op", [anon_sym_GT_GT] = "op", [anon_sym_PLUS] = "op", [anon_sym_STAR] = "op", [anon_sym_SLASH] = "op", [anon_sym_SLASH_SLASH] = "op", [anon_sym_PERCENT] = "op", [anon_sym_DOT_DOT] = "op", [anon_sym_CARET] = "op", [anon_sym_is] = "is", [anon_sym_as] = "as", [anon_sym_type] = "type", [anon_sym_COLON] = ":", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_DOT] = ".", [anon_sym_local] = "local", [anon_sym_global] = "global", [anon_sym_function] = "function", [anon_sym_macroexp] = "macroexp", [anon_sym_DOT_DOT_DOT] = "...", [sym_optional_marker] = "optional_marker", [anon_sym_record] = "record", [anon_sym_interface] = "interface", [anon_sym_enum] = "enum", [anon_sym_userdata] = "identifier", [anon_sym_metamethod] = "metamethod", [anon_sym_where] = "where", [anon_sym_goto] = "goto", [aux_sym_number_token1] = "number_token1", [aux_sym_number_token2] = "number_token2", [aux_sym_number_token3] = "number_token3", [anon_sym_true] = "true", [anon_sym_false] = "false", [anon_sym_PERCENT2] = "%", [sym_format_specifier] = "format_specifier", [sym_escape_sequence] = "escape_sequence", [sym_nil] = "nil", [sym_comment] = "comment", [sym__long_string_start] = "long_string_start", [sym__long_string_char] = "_long_string_char", [sym__long_string_end] = "long_string_end", [sym__short_string_start] = "short_string_start", [sym__short_string_char] = "_short_string_char", [sym__short_string_end] = "short_string_end", [sym_program] = "program", [sym__statement] = "_statement", [sym_return_statement] = "return_statement", [sym_if_statement] = "if_statement", [sym_elseif_block] = "elseif_block", [sym_else_block] = "else_block", [sym_numeric_for_statement] = "numeric_for_statement", [sym_generic_for_statement] = "generic_for_statement", [sym__for_statement] = "_for_statement", [sym_while_statement] = "while_statement", [sym_repeat_statement] = "repeat_statement", [sym_do_statement] = "do_statement", [sym__expression] = "_expression", [sym_parenthesized_expression] = "parenthesized_expression", [sym_unary_op] = "unary_op", [sym_bin_op] = "bin_op", [sym_type_cast] = "type_cast", [sym_type_tuple] = "type_tuple", [sym_type_union] = "type_union", [sym_var_declarator] = "var", [sym_var_declarators] = "var_declarators", [sym_expressions] = "expressions", [sym_var_declaration] = "var_declaration", [sym__type_def] = "_type_def", [sym_type_declaration] = "type_declaration", [sym_assignment_variables] = "assignment_variables", [sym_var_assignment] = "var_assignment", [sym__prefix_expression] = "_prefix_expression", [sym_method_index] = "method_index", [sym_arguments] = "arguments", [sym_function_call] = "function_call", [sym_table_entry] = "table_entry", [sym_table_constructor] = "table_constructor", [sym_function_name] = "function_name", [sym_function_statement] = "function_statement", [sym_macroexp_statement] = "macroexp_statement", [sym__macroexp_def] = "_macroexp_def", [sym_macroexp_body] = "macroexp_body", [sym_variadic_type] = "variadic_type", [sym_return_type] = "return_type", [sym__partype] = "arg", [sym__parname] = "arg", [sym_typearg] = "typearg", [sym_typeargs] = "typeargs", [sym_anon_function] = "anon_function", [sym__annotated_var_arg] = "varargs", [sym_signature_arguments] = "arguments", [sym_function_signature] = "function_signature", [sym_function_body] = "function_body", [sym_record_field] = "field", [sym__record_entry] = "_record_entry", [sym_metamethod_annotation] = "metamethod", [sym_record_body] = "record_body", [sym__record_def] = "_record_def", [sym__interface_def] = "_interface_def", [sym_interface_declaration] = "interface_declaration", [sym_record_declaration] = "record_declaration", [sym_enum_body] = "enum_body", [sym__enum_def] = "_enum_def", [sym_enum_declaration] = "enum_declaration", [sym_anon_interface] = "anon_interface", [sym_anon_record] = "anon_record", [sym__anon_enum] = "_anon_enum", [sym__newtype] = "_newtype", [sym_type_annotation] = "type_annotation", [sym__type] = "_type", [sym_typearg_params] = "typeargs", [sym_type_index] = "type_index", [sym_simple_type] = "simple_type", [sym_table_type] = "table_type", [sym_function_type_args] = "arguments", [sym_function_type] = "function_type", [sym_goto] = "goto", [sym_index] = "index", [sym__var] = "_var", [sym_varargs] = "varargs", [sym_number] = "number", [sym_boolean] = "boolean", [sym__short_string_content] = "_short_string_content", [sym__long_string_content] = "_long_string_content", [sym_string] = "string", [aux_sym_program_repeat1] = "program_repeat1", [aux_sym_return_statement_repeat1] = "return_statement_repeat1", [aux_sym_if_statement_repeat1] = "if_statement_repeat1", [aux_sym_generic_for_statement_repeat1] = "generic_for_statement_repeat1", [aux_sym_type_tuple_repeat1] = "type_tuple_repeat1", [aux_sym_var_declarators_repeat1] = "var_declarators_repeat1", [aux_sym_assignment_variables_repeat1] = "assignment_variables_repeat1", [aux_sym_table_constructor_repeat1] = "table_constructor_repeat1", [aux_sym_function_name_repeat1] = "function_name_repeat1", [aux_sym__partypelist_repeat1] = "_partypelist_repeat1", [aux_sym__parnamelist_repeat1] = "_parnamelist_repeat1", [aux_sym_typeargs_repeat1] = "typeargs_repeat1", [aux_sym_record_body_repeat1] = "record_body_repeat1", [aux_sym_enum_body_repeat1] = "enum_body_repeat1", [aux_sym_table_type_repeat1] = "table_type_repeat1", [aux_sym__short_string_content_repeat1] = "_short_string_content_repeat1", [aux_sym__long_string_content_repeat1] = "_long_string_content_repeat1", [alias_sym_attribute] = "attribute", [alias_sym_for_body] = "for_body", [alias_sym_interface_body] = "interface_body", [alias_sym_label] = "label", [alias_sym_macroexp_declaration] = "macroexp_declaration", [alias_sym_macroexp_signature] = "macroexp_signature", [alias_sym_record_array_type] = "record_array_type", [alias_sym_string_content] = "string_content", [alias_sym_typedef] = "typedef", [alias_sym_userdata] = "userdata", [alias_sym_while_body] = "while_body", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, [aux_sym_program_token1] = aux_sym_program_token1, [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, [anon_sym_SEMI] = anon_sym_SEMI, [anon_sym_return] = anon_sym_return, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, [sym_break] = sym_break, [anon_sym_if] = anon_sym_if, [anon_sym_then] = anon_sym_then, [anon_sym_end] = anon_sym_end, [anon_sym_elseif] = anon_sym_elseif, [anon_sym_else] = anon_sym_else, [anon_sym_for] = anon_sym_for, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_in] = anon_sym_in, [anon_sym_while] = anon_sym_while, [anon_sym_repeat] = anon_sym_repeat, [anon_sym_until] = anon_sym_until, [anon_sym_do] = anon_sym_do, [anon_sym_not] = anon_sym_not, [anon_sym_POUND] = anon_sym_not, [anon_sym_DASH] = anon_sym_not, [anon_sym_TILDE] = anon_sym_not, [anon_sym_or] = anon_sym_not, [anon_sym_and] = anon_sym_not, [anon_sym_LT] = anon_sym_LT, [anon_sym_LT_EQ] = anon_sym_not, [anon_sym_EQ_EQ] = anon_sym_not, [anon_sym_TILDE_EQ] = anon_sym_not, [anon_sym_GT_EQ] = anon_sym_not, [anon_sym_GT] = anon_sym_GT, [anon_sym_PIPE] = anon_sym_PIPE, [anon_sym_AMP] = anon_sym_not, [anon_sym_LT_LT] = anon_sym_not, [anon_sym_GT_GT] = anon_sym_not, [anon_sym_PLUS] = anon_sym_not, [anon_sym_STAR] = anon_sym_not, [anon_sym_SLASH] = anon_sym_not, [anon_sym_SLASH_SLASH] = anon_sym_not, [anon_sym_PERCENT] = anon_sym_not, [anon_sym_DOT_DOT] = anon_sym_not, [anon_sym_CARET] = anon_sym_not, [anon_sym_is] = anon_sym_is, [anon_sym_as] = anon_sym_as, [anon_sym_type] = anon_sym_type, [anon_sym_COLON] = anon_sym_COLON, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_DOT] = anon_sym_DOT, [anon_sym_local] = anon_sym_local, [anon_sym_global] = anon_sym_global, [anon_sym_function] = anon_sym_function, [anon_sym_macroexp] = anon_sym_macroexp, [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, [sym_optional_marker] = sym_optional_marker, [anon_sym_record] = anon_sym_record, [anon_sym_interface] = anon_sym_interface, [anon_sym_enum] = anon_sym_enum, [anon_sym_userdata] = sym_identifier, [anon_sym_metamethod] = anon_sym_metamethod, [anon_sym_where] = anon_sym_where, [anon_sym_goto] = anon_sym_goto, [aux_sym_number_token1] = aux_sym_number_token1, [aux_sym_number_token2] = aux_sym_number_token2, [aux_sym_number_token3] = aux_sym_number_token3, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [anon_sym_PERCENT2] = anon_sym_PERCENT, [sym_format_specifier] = sym_format_specifier, [sym_escape_sequence] = sym_escape_sequence, [sym_nil] = sym_nil, [sym_comment] = sym_comment, [sym__long_string_start] = sym__long_string_start, [sym__long_string_char] = sym__long_string_char, [sym__long_string_end] = sym__long_string_end, [sym__short_string_start] = sym__short_string_start, [sym__short_string_char] = sym__short_string_char, [sym__short_string_end] = sym__short_string_end, [sym_program] = sym_program, [sym__statement] = sym__statement, [sym_return_statement] = sym_return_statement, [sym_if_statement] = sym_if_statement, [sym_elseif_block] = sym_elseif_block, [sym_else_block] = sym_else_block, [sym_numeric_for_statement] = sym_numeric_for_statement, [sym_generic_for_statement] = sym_generic_for_statement, [sym__for_statement] = sym__for_statement, [sym_while_statement] = sym_while_statement, [sym_repeat_statement] = sym_repeat_statement, [sym_do_statement] = sym_do_statement, [sym__expression] = sym__expression, [sym_parenthesized_expression] = sym_parenthesized_expression, [sym_unary_op] = sym_unary_op, [sym_bin_op] = sym_bin_op, [sym_type_cast] = sym_type_cast, [sym_type_tuple] = sym_type_tuple, [sym_type_union] = sym_type_union, [sym_var_declarator] = sym_var_declarator, [sym_var_declarators] = sym_var_declarators, [sym_expressions] = sym_expressions, [sym_var_declaration] = sym_var_declaration, [sym__type_def] = sym__type_def, [sym_type_declaration] = sym_type_declaration, [sym_assignment_variables] = sym_assignment_variables, [sym_var_assignment] = sym_var_assignment, [sym__prefix_expression] = sym__prefix_expression, [sym_method_index] = sym_method_index, [sym_arguments] = sym_arguments, [sym_function_call] = sym_function_call, [sym_table_entry] = sym_table_entry, [sym_table_constructor] = sym_table_constructor, [sym_function_name] = sym_function_name, [sym_function_statement] = sym_function_statement, [sym_macroexp_statement] = sym_macroexp_statement, [sym__macroexp_def] = sym__macroexp_def, [sym_macroexp_body] = sym_macroexp_body, [sym_variadic_type] = sym_variadic_type, [sym_return_type] = sym_return_type, [sym__partype] = sym__partype, [sym__parname] = sym__partype, [sym_typearg] = sym_typearg, [sym_typeargs] = sym_typeargs, [sym_anon_function] = sym_anon_function, [sym__annotated_var_arg] = sym_varargs, [sym_signature_arguments] = sym_arguments, [sym_function_signature] = sym_function_signature, [sym_function_body] = sym_function_body, [sym_record_field] = sym_record_field, [sym__record_entry] = sym__record_entry, [sym_metamethod_annotation] = sym_metamethod_annotation, [sym_record_body] = sym_record_body, [sym__record_def] = sym__record_def, [sym__interface_def] = sym__interface_def, [sym_interface_declaration] = sym_interface_declaration, [sym_record_declaration] = sym_record_declaration, [sym_enum_body] = sym_enum_body, [sym__enum_def] = sym__enum_def, [sym_enum_declaration] = sym_enum_declaration, [sym_anon_interface] = sym_anon_interface, [sym_anon_record] = sym_anon_record, [sym__anon_enum] = sym__anon_enum, [sym__newtype] = sym__newtype, [sym_type_annotation] = sym_type_annotation, [sym__type] = sym__type, [sym_typearg_params] = sym_typeargs, [sym_type_index] = sym_type_index, [sym_simple_type] = sym_simple_type, [sym_table_type] = sym_table_type, [sym_function_type_args] = sym_arguments, [sym_function_type] = sym_function_type, [sym_goto] = sym_goto, [sym_index] = sym_index, [sym__var] = sym__var, [sym_varargs] = sym_varargs, [sym_number] = sym_number, [sym_boolean] = sym_boolean, [sym__short_string_content] = sym__short_string_content, [sym__long_string_content] = sym__long_string_content, [sym_string] = sym_string, [aux_sym_program_repeat1] = aux_sym_program_repeat1, [aux_sym_return_statement_repeat1] = aux_sym_return_statement_repeat1, [aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1, [aux_sym_generic_for_statement_repeat1] = aux_sym_generic_for_statement_repeat1, [aux_sym_type_tuple_repeat1] = aux_sym_type_tuple_repeat1, [aux_sym_var_declarators_repeat1] = aux_sym_var_declarators_repeat1, [aux_sym_assignment_variables_repeat1] = aux_sym_assignment_variables_repeat1, [aux_sym_table_constructor_repeat1] = aux_sym_table_constructor_repeat1, [aux_sym_function_name_repeat1] = aux_sym_function_name_repeat1, [aux_sym__partypelist_repeat1] = aux_sym__partypelist_repeat1, [aux_sym__parnamelist_repeat1] = aux_sym__parnamelist_repeat1, [aux_sym_typeargs_repeat1] = aux_sym_typeargs_repeat1, [aux_sym_record_body_repeat1] = aux_sym_record_body_repeat1, [aux_sym_enum_body_repeat1] = aux_sym_enum_body_repeat1, [aux_sym_table_type_repeat1] = aux_sym_table_type_repeat1, [aux_sym__short_string_content_repeat1] = aux_sym__short_string_content_repeat1, [aux_sym__long_string_content_repeat1] = aux_sym__long_string_content_repeat1, [alias_sym_attribute] = alias_sym_attribute, [alias_sym_for_body] = alias_sym_for_body, [alias_sym_interface_body] = alias_sym_interface_body, [alias_sym_label] = alias_sym_label, [alias_sym_macroexp_declaration] = alias_sym_macroexp_declaration, [alias_sym_macroexp_signature] = alias_sym_macroexp_signature, [alias_sym_record_array_type] = alias_sym_record_array_type, [alias_sym_string_content] = alias_sym_string_content, [alias_sym_typedef] = alias_sym_typedef, [alias_sym_userdata] = alias_sym_userdata, [alias_sym_while_body] = alias_sym_while_body, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_identifier] = { .visible = true, .named = true, }, [aux_sym_program_token1] = { .visible = true, .named = true, }, [anon_sym_COLON_COLON] = { .visible = true, .named = false, }, [anon_sym_SEMI] = { .visible = true, .named = false, }, [anon_sym_return] = { .visible = true, .named = false, }, [anon_sym_COMMA] = { .visible = true, .named = false, }, [anon_sym_LPAREN] = { .visible = true, .named = false, }, [anon_sym_RPAREN] = { .visible = true, .named = false, }, [sym_break] = { .visible = true, .named = true, }, [anon_sym_if] = { .visible = true, .named = false, }, [anon_sym_then] = { .visible = true, .named = false, }, [anon_sym_end] = { .visible = true, .named = false, }, [anon_sym_elseif] = { .visible = true, .named = false, }, [anon_sym_else] = { .visible = true, .named = false, }, [anon_sym_for] = { .visible = true, .named = false, }, [anon_sym_EQ] = { .visible = true, .named = false, }, [anon_sym_in] = { .visible = true, .named = false, }, [anon_sym_while] = { .visible = true, .named = false, }, [anon_sym_repeat] = { .visible = true, .named = false, }, [anon_sym_until] = { .visible = true, .named = false, }, [anon_sym_do] = { .visible = true, .named = false, }, [anon_sym_not] = { .visible = true, .named = true, }, [anon_sym_POUND] = { .visible = true, .named = true, }, [anon_sym_DASH] = { .visible = true, .named = true, }, [anon_sym_TILDE] = { .visible = true, .named = true, }, [anon_sym_or] = { .visible = true, .named = true, }, [anon_sym_and] = { .visible = true, .named = true, }, [anon_sym_LT] = { .visible = true, .named = false, }, [anon_sym_LT_EQ] = { .visible = true, .named = true, }, [anon_sym_EQ_EQ] = { .visible = true, .named = true, }, [anon_sym_TILDE_EQ] = { .visible = true, .named = true, }, [anon_sym_GT_EQ] = { .visible = true, .named = true, }, [anon_sym_GT] = { .visible = true, .named = false, }, [anon_sym_PIPE] = { .visible = true, .named = false, }, [anon_sym_AMP] = { .visible = true, .named = true, }, [anon_sym_LT_LT] = { .visible = true, .named = true, }, [anon_sym_GT_GT] = { .visible = true, .named = true, }, [anon_sym_PLUS] = { .visible = true, .named = true, }, [anon_sym_STAR] = { .visible = true, .named = true, }, [anon_sym_SLASH] = { .visible = true, .named = true, }, [anon_sym_SLASH_SLASH] = { .visible = true, .named = true, }, [anon_sym_PERCENT] = { .visible = true, .named = true, }, [anon_sym_DOT_DOT] = { .visible = true, .named = true, }, [anon_sym_CARET] = { .visible = true, .named = true, }, [anon_sym_is] = { .visible = true, .named = false, }, [anon_sym_as] = { .visible = true, .named = false, }, [anon_sym_type] = { .visible = true, .named = false, }, [anon_sym_COLON] = { .visible = true, .named = false, }, [anon_sym_LBRACK] = { .visible = true, .named = false, }, [anon_sym_RBRACK] = { .visible = true, .named = false, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [anon_sym_DOT] = { .visible = true, .named = false, }, [anon_sym_local] = { .visible = true, .named = false, }, [anon_sym_global] = { .visible = true, .named = false, }, [anon_sym_function] = { .visible = true, .named = false, }, [anon_sym_macroexp] = { .visible = true, .named = false, }, [anon_sym_DOT_DOT_DOT] = { .visible = true, .named = false, }, [sym_optional_marker] = { .visible = true, .named = true, }, [anon_sym_record] = { .visible = true, .named = false, }, [anon_sym_interface] = { .visible = true, .named = false, }, [anon_sym_enum] = { .visible = true, .named = false, }, [anon_sym_userdata] = { .visible = true, .named = true, }, [anon_sym_metamethod] = { .visible = true, .named = false, }, [anon_sym_where] = { .visible = true, .named = false, }, [anon_sym_goto] = { .visible = true, .named = false, }, [aux_sym_number_token1] = { .visible = false, .named = false, }, [aux_sym_number_token2] = { .visible = false, .named = false, }, [aux_sym_number_token3] = { .visible = false, .named = false, }, [anon_sym_true] = { .visible = true, .named = false, }, [anon_sym_false] = { .visible = true, .named = false, }, [anon_sym_PERCENT2] = { .visible = true, .named = false, }, [sym_format_specifier] = { .visible = true, .named = true, }, [sym_escape_sequence] = { .visible = true, .named = true, }, [sym_nil] = { .visible = true, .named = true, }, [sym_comment] = { .visible = true, .named = true, }, [sym__long_string_start] = { .visible = true, .named = false, }, [sym__long_string_char] = { .visible = false, .named = true, }, [sym__long_string_end] = { .visible = true, .named = false, }, [sym__short_string_start] = { .visible = true, .named = false, }, [sym__short_string_char] = { .visible = false, .named = true, }, [sym__short_string_end] = { .visible = true, .named = false, }, [sym_program] = { .visible = true, .named = true, }, [sym__statement] = { .visible = false, .named = true, }, [sym_return_statement] = { .visible = true, .named = true, }, [sym_if_statement] = { .visible = true, .named = true, }, [sym_elseif_block] = { .visible = true, .named = true, }, [sym_else_block] = { .visible = true, .named = true, }, [sym_numeric_for_statement] = { .visible = true, .named = true, }, [sym_generic_for_statement] = { .visible = true, .named = true, }, [sym__for_statement] = { .visible = false, .named = true, }, [sym_while_statement] = { .visible = true, .named = true, }, [sym_repeat_statement] = { .visible = true, .named = true, }, [sym_do_statement] = { .visible = true, .named = true, }, [sym__expression] = { .visible = false, .named = true, }, [sym_parenthesized_expression] = { .visible = true, .named = true, }, [sym_unary_op] = { .visible = true, .named = true, }, [sym_bin_op] = { .visible = true, .named = true, }, [sym_type_cast] = { .visible = true, .named = true, }, [sym_type_tuple] = { .visible = true, .named = true, }, [sym_type_union] = { .visible = true, .named = true, }, [sym_var_declarator] = { .visible = true, .named = true, }, [sym_var_declarators] = { .visible = true, .named = true, }, [sym_expressions] = { .visible = true, .named = true, }, [sym_var_declaration] = { .visible = true, .named = true, }, [sym__type_def] = { .visible = false, .named = true, }, [sym_type_declaration] = { .visible = true, .named = true, }, [sym_assignment_variables] = { .visible = true, .named = true, }, [sym_var_assignment] = { .visible = true, .named = true, }, [sym__prefix_expression] = { .visible = false, .named = true, }, [sym_method_index] = { .visible = true, .named = true, }, [sym_arguments] = { .visible = true, .named = true, }, [sym_function_call] = { .visible = true, .named = true, }, [sym_table_entry] = { .visible = true, .named = true, }, [sym_table_constructor] = { .visible = true, .named = true, }, [sym_function_name] = { .visible = true, .named = true, }, [sym_function_statement] = { .visible = true, .named = true, }, [sym_macroexp_statement] = { .visible = true, .named = true, }, [sym__macroexp_def] = { .visible = false, .named = true, }, [sym_macroexp_body] = { .visible = true, .named = true, }, [sym_variadic_type] = { .visible = true, .named = true, }, [sym_return_type] = { .visible = true, .named = true, }, [sym__partype] = { .visible = true, .named = true, }, [sym__parname] = { .visible = true, .named = true, }, [sym_typearg] = { .visible = true, .named = true, }, [sym_typeargs] = { .visible = true, .named = true, }, [sym_anon_function] = { .visible = true, .named = true, }, [sym__annotated_var_arg] = { .visible = true, .named = true, }, [sym_signature_arguments] = { .visible = true, .named = true, }, [sym_function_signature] = { .visible = true, .named = true, }, [sym_function_body] = { .visible = true, .named = true, }, [sym_record_field] = { .visible = true, .named = true, }, [sym__record_entry] = { .visible = false, .named = true, }, [sym_metamethod_annotation] = { .visible = true, .named = true, }, [sym_record_body] = { .visible = true, .named = true, }, [sym__record_def] = { .visible = false, .named = true, }, [sym__interface_def] = { .visible = false, .named = true, }, [sym_interface_declaration] = { .visible = true, .named = true, }, [sym_record_declaration] = { .visible = true, .named = true, }, [sym_enum_body] = { .visible = true, .named = true, }, [sym__enum_def] = { .visible = false, .named = true, }, [sym_enum_declaration] = { .visible = true, .named = true, }, [sym_anon_interface] = { .visible = true, .named = true, }, [sym_anon_record] = { .visible = true, .named = true, }, [sym__anon_enum] = { .visible = false, .named = true, }, [sym__newtype] = { .visible = false, .named = true, }, [sym_type_annotation] = { .visible = true, .named = true, }, [sym__type] = { .visible = false, .named = true, }, [sym_typearg_params] = { .visible = true, .named = true, }, [sym_type_index] = { .visible = true, .named = true, }, [sym_simple_type] = { .visible = true, .named = true, }, [sym_table_type] = { .visible = true, .named = true, }, [sym_function_type_args] = { .visible = true, .named = true, }, [sym_function_type] = { .visible = true, .named = true, }, [sym_goto] = { .visible = true, .named = true, }, [sym_index] = { .visible = true, .named = true, }, [sym__var] = { .visible = false, .named = true, }, [sym_varargs] = { .visible = true, .named = true, }, [sym_number] = { .visible = true, .named = true, }, [sym_boolean] = { .visible = true, .named = true, }, [sym__short_string_content] = { .visible = false, .named = true, }, [sym__long_string_content] = { .visible = false, .named = true, }, [sym_string] = { .visible = true, .named = true, }, [aux_sym_program_repeat1] = { .visible = false, .named = false, }, [aux_sym_return_statement_repeat1] = { .visible = false, .named = false, }, [aux_sym_if_statement_repeat1] = { .visible = false, .named = false, }, [aux_sym_generic_for_statement_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_tuple_repeat1] = { .visible = false, .named = false, }, [aux_sym_var_declarators_repeat1] = { .visible = false, .named = false, }, [aux_sym_assignment_variables_repeat1] = { .visible = false, .named = false, }, [aux_sym_table_constructor_repeat1] = { .visible = false, .named = false, }, [aux_sym_function_name_repeat1] = { .visible = false, .named = false, }, [aux_sym__partypelist_repeat1] = { .visible = false, .named = false, }, [aux_sym__parnamelist_repeat1] = { .visible = false, .named = false, }, [aux_sym_typeargs_repeat1] = { .visible = false, .named = false, }, [aux_sym_record_body_repeat1] = { .visible = false, .named = false, }, [aux_sym_enum_body_repeat1] = { .visible = false, .named = false, }, [aux_sym_table_type_repeat1] = { .visible = false, .named = false, }, [aux_sym__short_string_content_repeat1] = { .visible = false, .named = false, }, [aux_sym__long_string_content_repeat1] = { .visible = false, .named = false, }, [alias_sym_attribute] = { .visible = true, .named = true, }, [alias_sym_for_body] = { .visible = true, .named = true, }, [alias_sym_interface_body] = { .visible = true, .named = true, }, [alias_sym_label] = { .visible = true, .named = true, }, [alias_sym_macroexp_declaration] = { .visible = true, .named = true, }, [alias_sym_macroexp_signature] = { .visible = true, .named = true, }, [alias_sym_record_array_type] = { .visible = true, .named = true, }, [alias_sym_string_content] = { .visible = true, .named = true, }, [alias_sym_typedef] = { .visible = true, .named = true, }, [alias_sym_userdata] = { .visible = true, .named = true, }, [alias_sym_while_body] = { .visible = true, .named = true, }, }; enum ts_field_identifiers { field_arguments = 1, field_attribute = 2, field_base = 3, field_body = 4, field_called_object = 5, field_condition = 6, field_constraint = 7, field_content = 8, field_declarators = 9, field_end = 10, field_entry = 11, field_enum_body = 12, field_expr_key = 13, field_expressions = 14, field_initializer = 15, field_initializers = 16, field_interface_body = 17, field_is_types = 18, field_iterator = 19, field_key = 20, field_key_type = 21, field_left = 22, field_metamethod = 23, field_method = 24, field_name = 25, field_op = 26, field_optional_marker = 27, field_record_body = 28, field_return_type = 29, field_right = 30, field_scope = 31, field_signature = 32, field_start = 33, field_step = 34, field_target = 35, field_tuple_type = 36, field_type = 37, field_type_annotation = 38, field_typeargs = 39, field_value = 40, field_value_type = 41, field_variable = 42, field_variables = 43, field_where = 44, }; static const char * const ts_field_names[] = { [0] = NULL, [field_arguments] = "arguments", [field_attribute] = "attribute", [field_base] = "base", [field_body] = "body", [field_called_object] = "called_object", [field_condition] = "condition", [field_constraint] = "constraint", [field_content] = "content", [field_declarators] = "declarators", [field_end] = "end", [field_entry] = "entry", [field_enum_body] = "enum_body", [field_expr_key] = "expr_key", [field_expressions] = "expressions", [field_initializer] = "initializer", [field_initializers] = "initializers", [field_interface_body] = "interface_body", [field_is_types] = "is_types", [field_iterator] = "iterator", [field_key] = "key", [field_key_type] = "key_type", [field_left] = "left", [field_metamethod] = "metamethod", [field_method] = "method", [field_name] = "name", [field_op] = "op", [field_optional_marker] = "optional_marker", [field_record_body] = "record_body", [field_return_type] = "return_type", [field_right] = "right", [field_scope] = "scope", [field_signature] = "signature", [field_start] = "start", [field_step] = "step", [field_target] = "target", [field_tuple_type] = "tuple_type", [field_type] = "type", [field_type_annotation] = "type_annotation", [field_typeargs] = "typeargs", [field_value] = "value", [field_value_type] = "value_type", [field_variable] = "variable", [field_variables] = "variables", [field_where] = "where", }; static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [2] = {.index = 0, .length = 1}, [3] = {.index = 1, .length = 2}, [4] = {.index = 3, .length = 3}, [5] = {.index = 6, .length = 3}, [6] = {.index = 9, .length = 4}, [7] = {.index = 13, .length = 4}, [8] = {.index = 17, .length = 3}, [9] = {.index = 20, .length = 2}, [11] = {.index = 22, .length = 2}, [13] = {.index = 24, .length = 2}, [14] = {.index = 26, .length = 1}, [15] = {.index = 27, .length = 1}, [16] = {.index = 28, .length = 1}, [17] = {.index = 29, .length = 1}, [18] = {.index = 30, .length = 3}, [19] = {.index = 33, .length = 2}, [20] = {.index = 35, .length = 2}, [21] = {.index = 37, .length = 1}, [22] = {.index = 38, .length = 2}, [24] = {.index = 40, .length = 3}, [25] = {.index = 43, .length = 2}, [26] = {.index = 45, .length = 2}, [27] = {.index = 47, .length = 3}, [28] = {.index = 28, .length = 1}, [29] = {.index = 50, .length = 1}, [31] = {.index = 51, .length = 2}, [32] = {.index = 53, .length = 3}, [33] = {.index = 56, .length = 1}, [34] = {.index = 57, .length = 2}, [35] = {.index = 59, .length = 3}, [36] = {.index = 62, .length = 3}, [37] = {.index = 65, .length = 2}, [38] = {.index = 67, .length = 2}, [39] = {.index = 69, .length = 2}, [40] = {.index = 71, .length = 3}, [41] = {.index = 74, .length = 2}, [42] = {.index = 76, .length = 1}, [43] = {.index = 77, .length = 2}, [44] = {.index = 79, .length = 3}, [45] = {.index = 82, .length = 3}, [46] = {.index = 85, .length = 2}, [47] = {.index = 87, .length = 2}, [48] = {.index = 89, .length = 3}, [49] = {.index = 92, .length = 1}, [50] = {.index = 93, .length = 2}, [51] = {.index = 95, .length = 1}, [52] = {.index = 96, .length = 1}, [53] = {.index = 97, .length = 3}, [54] = {.index = 100, .length = 2}, [55] = {.index = 102, .length = 4}, [56] = {.index = 79, .length = 3}, [57] = {.index = 106, .length = 3}, [58] = {.index = 109, .length = 1}, [59] = {.index = 110, .length = 2}, [60] = {.index = 112, .length = 3}, [61] = {.index = 115, .length = 2}, [62] = {.index = 117, .length = 4}, [63] = {.index = 121, .length = 3}, [64] = {.index = 124, .length = 1}, [65] = {.index = 125, .length = 2}, [66] = {.index = 127, .length = 2}, [67] = {.index = 129, .length = 3}, [68] = {.index = 132, .length = 1}, [69] = {.index = 133, .length = 1}, [70] = {.index = 134, .length = 2}, [71] = {.index = 136, .length = 4}, [72] = {.index = 140, .length = 4}, [73] = {.index = 144, .length = 1}, [74] = {.index = 145, .length = 1}, [75] = {.index = 146, .length = 2}, [76] = {.index = 148, .length = 2}, [77] = {.index = 148, .length = 2}, [78] = {.index = 150, .length = 2}, [79] = {.index = 152, .length = 4}, [80] = {.index = 156, .length = 3}, [81] = {.index = 159, .length = 4}, [82] = {.index = 163, .length = 1}, [83] = {.index = 164, .length = 2}, [84] = {.index = 166, .length = 2}, [85] = {.index = 168, .length = 2}, [86] = {.index = 170, .length = 2}, [87] = {.index = 172, .length = 4}, [88] = {.index = 176, .length = 5}, [89] = {.index = 181, .length = 1}, [90] = {.index = 182, .length = 1}, [91] = {.index = 183, .length = 3}, [92] = {.index = 186, .length = 3}, [94] = {.index = 189, .length = 2}, [95] = {.index = 191, .length = 4}, [96] = {.index = 195, .length = 2}, [97] = {.index = 197, .length = 3}, [98] = {.index = 200, .length = 4}, [99] = {.index = 204, .length = 4}, [100] = {.index = 208, .length = 2}, [101] = {.index = 210, .length = 1}, [102] = {.index = 211, .length = 3}, [103] = {.index = 214, .length = 5}, [104] = {.index = 146, .length = 2}, [105] = {.index = 219, .length = 5}, [106] = {.index = 224, .length = 5}, [107] = {.index = 229, .length = 3}, [108] = {.index = 232, .length = 3}, [109] = {.index = 183, .length = 3}, [110] = {.index = 235, .length = 6}, [111] = {.index = 200, .length = 4}, [112] = {.index = 241, .length = 4}, [113] = {.index = 245, .length = 5}, [114] = {.index = 224, .length = 5}, [115] = {.index = 250, .length = 6}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_name, 0}, [1] = {field_declarators, 1}, {field_scope, 0}, [3] = {field_name, 1, .inherited = true}, {field_scope, 0}, {field_value, 1, .inherited = true}, [6] = {field_body, 1, .inherited = true}, {field_name, 1, .inherited = true}, {field_signature, 1, .inherited = true}, [9] = {field_name, 1, .inherited = true}, {field_record_body, 1, .inherited = true}, {field_scope, 0}, {field_typeargs, 1, .inherited = true}, [13] = {field_interface_body, 1, .inherited = true}, {field_name, 1, .inherited = true}, {field_scope, 0}, {field_typeargs, 1, .inherited = true}, [17] = {field_enum_body, 1, .inherited = true}, {field_name, 1, .inherited = true}, {field_scope, 0}, [20] = {field_arguments, 1}, {field_called_object, 0}, [22] = {field_end, 1}, {field_start, 0}, [24] = {field_op, 0}, {field_right, 1}, [26] = {field_value, 0}, [27] = {field_arguments, 0}, [28] = {field_condition, 1}, [29] = {field_condition, 2}, [30] = {field_declarators, 1}, {field_scope, 0}, {field_type_annotation, 2}, [33] = {field_base, 0}, {field_entry, 1, .inherited = true}, [35] = {field_expressions, 2}, {field_variables, 0}, [37] = {field_key, 2}, [38] = {field_key, 1}, {field_key, 2}, [40] = {field_content, 1}, {field_end, 2}, {field_start, 0}, [43] = {field_arguments, 1}, {field_typeargs, 0}, [45] = {field_body, 2}, {field_signature, 1}, [47] = {field_left, 0}, {field_op, 1}, {field_right, 2}, [50] = {field_condition, 3}, [51] = {field_name, 0, .inherited = true}, {field_value, 0, .inherited = true}, [53] = {field_body, 0, .inherited = true}, {field_name, 0, .inherited = true}, {field_signature, 0, .inherited = true}, [56] = {field_metamethod, 0}, [57] = {field_name, 1}, {field_record_body, 2}, [59] = {field_name, 0, .inherited = true}, {field_record_body, 0, .inherited = true}, {field_typeargs, 0, .inherited = true}, [62] = {field_interface_body, 0, .inherited = true}, {field_name, 0, .inherited = true}, {field_typeargs, 0, .inherited = true}, [65] = {field_enum_body, 0, .inherited = true}, {field_name, 0, .inherited = true}, [67] = {field_interface_body, 2}, {field_name, 1}, [69] = {field_enum_body, 2}, {field_name, 1}, [71] = {field_declarators, 1}, {field_initializers, 3}, {field_scope, 0}, [74] = {field_base, 0}, {field_method, 2}, [76] = {field_entry, 1}, [77] = {field_entry, 0, .inherited = true}, {field_entry, 1, .inherited = true}, [79] = {field_body, 3}, {field_name, 1}, {field_signature, 2}, [82] = {field_expr_key, 1}, {field_expr_key, 2}, {field_expr_key, 3}, [85] = {field_key, 0}, {field_value, 2}, [87] = {field_name, 0}, {field_optional_marker, 1}, [89] = {field_name, 1, .inherited = true}, {field_optional_marker, 1, .inherited = true}, {field_type, 1, .inherited = true}, [92] = {field_type, 1, .inherited = true}, [93] = {field_arguments, 0}, {field_return_type, 2}, [95] = {field_typeargs, 1}, [96] = {field_arguments, 1}, [97] = {field_body, 4}, {field_iterator, 3}, {field_variable, 1}, [100] = {field_name, 1}, {field_value, 3}, [102] = {field_body, 4}, {field_name, 2}, {field_scope, 0}, {field_signature, 3}, [106] = {field_name, 1}, {field_record_body, 3}, {field_typeargs, 2}, [109] = {field_metamethod, 0, .inherited = true}, [110] = {field_metamethod, 0, .inherited = true}, {field_metamethod, 1, .inherited = true}, [112] = {field_interface_body, 3}, {field_name, 1}, {field_typeargs, 2}, [115] = {field_attribute, 2}, {field_name, 0}, [117] = {field_declarators, 1}, {field_initializers, 4}, {field_scope, 0}, {field_type_annotation, 2}, [121] = {field_base, 0}, {field_entry, 1, .inherited = true}, {field_method, 3}, [124] = {field_type, 2}, [125] = {field_name, 0}, {field_type, 2}, [127] = {field_constraint, 2}, {field_name, 0}, [129] = {field_arguments, 1}, {field_return_type, 3}, {field_typeargs, 0}, [132] = {field_value_type, 1}, [133] = {field_type, 0}, [134] = {field_arguments, 2}, {field_typeargs, 1}, [136] = {field_body, 5}, {field_iterator, 3}, {field_iterator, 4}, {field_variable, 1}, [140] = {field_body, 5}, {field_iterator, 4}, {field_variable, 1}, {field_variable, 2}, [144] = {field_record_body, 1}, [145] = {field_interface_body, 1}, [146] = {field_is_types, 0}, {field_is_types, 1}, [148] = {field_key, 0}, {field_type, 2}, [150] = {field_expr_key, 1}, {field_value, 4}, [152] = {field_key, 0}, {field_type, 1}, {field_type, 2}, {field_value, 4}, [156] = {field_name, 0}, {field_optional_marker, 1}, {field_type, 3}, [159] = {field_name, 1, .inherited = true}, {field_optional_marker, 1, .inherited = true}, {field_type, 1, .inherited = true}, {field_type, 3, .inherited = true}, [163] = {field_tuple_type, 1}, [164] = {field_tuple_type, 1}, {field_tuple_type, 2, .inherited = true}, [166] = {field_tuple_type, 0, .inherited = true}, {field_tuple_type, 1, .inherited = true}, [168] = {field_name, 1, .inherited = true}, {field_type, 1, .inherited = true}, [170] = {field_arguments, 1}, {field_return_type, 3}, [172] = {field_body, 6}, {field_initializer, 3}, {field_target, 5}, {field_variable, 1}, [176] = {field_body, 6}, {field_iterator, 4}, {field_iterator, 5}, {field_variable, 1}, {field_variable, 2}, [181] = {field_record_body, 2}, [182] = {field_interface_body, 2}, [183] = {field_is_types, 0}, {field_is_types, 1}, {field_is_types, 2}, [186] = {field_is_types, 0}, {field_is_types, 1}, {field_metamethod, 2, .inherited = true}, [189] = {field_name, 1}, {field_type, 3}, [191] = {field_name, 1, .inherited = true}, {field_optional_marker, 1, .inherited = true}, {field_type, 1, .inherited = true}, {field_type, 4, .inherited = true}, [195] = {field_key_type, 1}, {field_value_type, 3}, [197] = {field_arguments, 2}, {field_return_type, 4}, {field_typeargs, 1}, [200] = {field_is_types, 0}, {field_is_types, 1}, {field_where, 2}, {field_where, 3}, [204] = {field_is_types, 0}, {field_is_types, 1}, {field_is_types, 2}, {field_metamethod, 3, .inherited = true}, [208] = {field_key, 1}, {field_type, 4}, [210] = {field_metamethod, 3, .inherited = true}, [211] = {field_name, 1, .inherited = true}, {field_type, 1, .inherited = true}, {field_type, 3, .inherited = true}, [214] = {field_body, 8}, {field_initializer, 3}, {field_step, 7}, {field_target, 5}, {field_variable, 1}, [219] = {field_is_types, 0}, {field_is_types, 1}, {field_metamethod, 4, .inherited = true}, {field_where, 2}, {field_where, 3}, [224] = {field_is_types, 0}, {field_is_types, 1}, {field_is_types, 2}, {field_where, 3}, {field_where, 4}, [229] = {field_name, 1, .inherited = true}, {field_type, 1, .inherited = true}, {field_type, 4, .inherited = true}, [232] = {field_is_types, 0}, {field_is_types, 1}, {field_metamethod, 5, .inherited = true}, [235] = {field_is_types, 0}, {field_is_types, 1}, {field_is_types, 2}, {field_metamethod, 5, .inherited = true}, {field_where, 3}, {field_where, 4}, [241] = {field_is_types, 0}, {field_is_types, 1}, {field_is_types, 2}, {field_metamethod, 6, .inherited = true}, [245] = {field_is_types, 0}, {field_is_types, 1}, {field_metamethod, 7, .inherited = true}, {field_where, 2}, {field_where, 3}, [250] = {field_is_types, 0}, {field_is_types, 1}, {field_is_types, 2}, {field_metamethod, 8, .inherited = true}, {field_where, 3}, {field_where, 4}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [1] = { [0] = sym_var_declarator, }, [10] = { [1] = alias_sym_label, }, [12] = { [0] = alias_sym_string_content, }, [16] = { [2] = alias_sym_while_body, }, [23] = { [1] = sym_var_declarator, }, [27] = { [1] = anon_sym_not, }, [30] = { [0] = alias_sym_userdata, }, [31] = { [0] = alias_sym_typedef, }, [32] = { [0] = alias_sym_macroexp_declaration, }, [35] = { [0] = sym_record_declaration, }, [36] = { [0] = sym_interface_declaration, }, [37] = { [0] = sym_enum_declaration, }, [38] = { [2] = alias_sym_interface_body, }, [53] = { [4] = alias_sym_for_body, }, [56] = { [2] = alias_sym_macroexp_signature, }, [60] = { [3] = alias_sym_interface_body, }, [61] = { [2] = alias_sym_attribute, }, [71] = { [5] = alias_sym_for_body, }, [72] = { [5] = alias_sym_for_body, }, [74] = { [1] = alias_sym_interface_body, }, [76] = { [0] = sym_identifier, }, [87] = { [6] = alias_sym_for_body, }, [88] = { [6] = alias_sym_for_body, }, [90] = { [2] = alias_sym_interface_body, }, [93] = { [1] = alias_sym_record_array_type, }, [101] = { [1] = alias_sym_record_array_type, }, [103] = { [8] = alias_sym_for_body, }, [104] = { [3] = alias_sym_record_array_type, }, [108] = { [3] = alias_sym_record_array_type, }, [109] = { [4] = alias_sym_record_array_type, }, [111] = { [5] = alias_sym_record_array_type, }, [112] = { [4] = alias_sym_record_array_type, }, [113] = { [5] = alias_sym_record_array_type, }, [114] = { [6] = alias_sym_record_array_type, }, [115] = { [6] = alias_sym_record_array_type, }, }; static const uint16_t ts_non_terminal_alias_map[] = { sym_do_statement, 3, sym_do_statement, alias_sym_for_body, alias_sym_while_body, sym__type_def, 2, sym__type_def, alias_sym_typedef, sym__macroexp_def, 2, sym__macroexp_def, alias_sym_macroexp_declaration, sym_function_signature, 2, sym_function_signature, alias_sym_macroexp_signature, sym_record_body, 2, sym_record_body, alias_sym_interface_body, sym__record_def, 2, sym__record_def, sym_record_declaration, sym__interface_def, 2, sym__interface_def, sym_interface_declaration, sym__enum_def, 2, sym__enum_def, sym_enum_declaration, sym__type, 2, sym__type, alias_sym_record_array_type, sym__var, 2, sym__var, sym_var_declarator, aux_sym__short_string_content_repeat1, 2, aux_sym__short_string_content_repeat1, alias_sym_string_content, aux_sym__long_string_content_repeat1, 2, aux_sym__long_string_content_repeat1, alias_sym_string_content, 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7, [8] = 8, [9] = 9, [10] = 10, [11] = 11, [12] = 12, [13] = 13, [14] = 14, [15] = 15, [16] = 16, [17] = 17, [18] = 18, [19] = 19, [20] = 20, [21] = 21, [22] = 22, [23] = 23, [24] = 24, [25] = 25, [26] = 6, [27] = 27, [28] = 28, [29] = 29, [30] = 30, [31] = 31, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 36, [37] = 37, [38] = 38, [39] = 39, [40] = 40, [41] = 41, [42] = 42, [43] = 43, [44] = 44, [45] = 45, [46] = 46, [47] = 47, [48] = 48, [49] = 4, [50] = 50, [51] = 51, [52] = 52, [53] = 10, [54] = 54, [55] = 55, [56] = 44, [57] = 57, [58] = 58, [59] = 59, [60] = 27, [61] = 28, [62] = 16, [63] = 8, [64] = 35, [65] = 18, [66] = 39, [67] = 41, [68] = 58, [69] = 69, [70] = 48, [71] = 36, [72] = 52, [73] = 30, [74] = 45, [75] = 47, [76] = 31, [77] = 37, [78] = 42, [79] = 43, [80] = 57, [81] = 46, [82] = 82, [83] = 50, [84] = 84, [85] = 51, [86] = 29, [87] = 54, [88] = 32, [89] = 33, [90] = 34, [91] = 55, [92] = 59, [93] = 38, [94] = 40, [95] = 69, [96] = 58, [97] = 84, [98] = 24, [99] = 99, [100] = 21, [101] = 23, [102] = 22, [103] = 103, [104] = 104, [105] = 19, [106] = 106, [107] = 107, [108] = 108, [109] = 109, [110] = 110, [111] = 111, [112] = 20, [113] = 69, [114] = 48, [115] = 82, [116] = 57, [117] = 55, [118] = 54, [119] = 119, [120] = 120, [121] = 121, [122] = 122, [123] = 123, [124] = 124, [125] = 125, [126] = 126, [127] = 127, [128] = 128, [129] = 129, [130] = 130, [131] = 131, [132] = 132, [133] = 133, [134] = 134, [135] = 135, [136] = 128, [137] = 129, [138] = 130, [139] = 139, [140] = 131, [141] = 132, [142] = 120, [143] = 124, [144] = 122, [145] = 121, [146] = 119, [147] = 123, [148] = 125, [149] = 126, [150] = 127, [151] = 151, [152] = 152, [153] = 153, [154] = 154, [155] = 155, [156] = 156, [157] = 157, [158] = 158, [159] = 159, [160] = 160, [161] = 161, [162] = 162, [163] = 163, [164] = 164, [165] = 165, [166] = 166, [167] = 167, [168] = 168, [169] = 169, [170] = 4, [171] = 6, [172] = 172, [173] = 173, [174] = 174, [175] = 175, [176] = 48, [177] = 10, [178] = 18, [179] = 48, [180] = 16, [181] = 8, [182] = 44, [183] = 38, [184] = 47, [185] = 58, [186] = 31, [187] = 37, [188] = 42, [189] = 43, [190] = 40, [191] = 52, [192] = 69, [193] = 193, [194] = 46, [195] = 58, [196] = 193, [197] = 50, [198] = 41, [199] = 30, [200] = 45, [201] = 51, [202] = 27, [203] = 28, [204] = 29, [205] = 32, [206] = 33, [207] = 34, [208] = 35, [209] = 36, [210] = 54, [211] = 59, [212] = 39, [213] = 55, [214] = 54, [215] = 84, [216] = 69, [217] = 82, [218] = 59, [219] = 84, [220] = 57, [221] = 221, [222] = 221, [223] = 223, [224] = 57, [225] = 82, [226] = 55, [227] = 223, [228] = 48, [229] = 229, [230] = 58, [231] = 231, [232] = 134, [233] = 233, [234] = 234, [235] = 235, [236] = 69, [237] = 237, [238] = 238, [239] = 239, [240] = 240, [241] = 241, [242] = 242, [243] = 243, [244] = 244, [245] = 245, [246] = 246, [247] = 247, [248] = 248, [249] = 249, [250] = 250, [251] = 251, [252] = 252, [253] = 253, [254] = 254, [255] = 255, [256] = 256, [257] = 257, [258] = 258, [259] = 239, [260] = 260, [261] = 261, [262] = 262, [263] = 263, [264] = 264, [265] = 265, [266] = 266, [267] = 267, [268] = 258, [269] = 266, [270] = 55, [271] = 57, [272] = 272, [273] = 54, [274] = 274, [275] = 248, [276] = 250, [277] = 251, [278] = 252, [279] = 253, [280] = 254, [281] = 255, [282] = 256, [283] = 257, [284] = 284, [285] = 284, [286] = 133, [287] = 287, [288] = 288, [289] = 289, [290] = 290, [291] = 291, [292] = 292, [293] = 293, [294] = 294, [295] = 295, [296] = 296, [297] = 297, [298] = 298, [299] = 299, [300] = 300, [301] = 301, [302] = 302, [303] = 303, [304] = 304, [305] = 305, [306] = 306, [307] = 307, [308] = 308, [309] = 309, [310] = 310, [311] = 311, [312] = 312, [313] = 313, [314] = 314, [315] = 315, [316] = 316, [317] = 317, [318] = 318, [319] = 319, [320] = 320, [321] = 321, [322] = 322, [323] = 323, [324] = 324, [325] = 325, [326] = 326, [327] = 327, [328] = 328, [329] = 329, [330] = 330, [331] = 331, [332] = 332, [333] = 328, [334] = 334, [335] = 335, [336] = 336, [337] = 337, [338] = 338, [339] = 339, [340] = 340, [341] = 341, [342] = 342, [343] = 343, [344] = 344, [345] = 345, [346] = 346, [347] = 347, [348] = 348, [349] = 349, [350] = 350, [351] = 351, [352] = 352, [353] = 353, [354] = 354, [355] = 355, [356] = 356, [357] = 357, [358] = 358, [359] = 359, [360] = 360, [361] = 361, [362] = 362, [363] = 363, [364] = 364, [365] = 365, [366] = 366, [367] = 367, [368] = 368, [369] = 369, [370] = 370, [371] = 371, [372] = 372, [373] = 373, [374] = 374, [375] = 375, [376] = 376, [377] = 377, [378] = 378, [379] = 379, [380] = 380, [381] = 381, [382] = 382, [383] = 383, [384] = 384, [385] = 385, [386] = 386, [387] = 387, [388] = 388, [389] = 389, [390] = 390, [391] = 391, [392] = 392, [393] = 393, [394] = 394, [395] = 395, [396] = 396, [397] = 397, [398] = 398, [399] = 399, [400] = 400, [401] = 401, [402] = 402, [403] = 403, [404] = 404, [405] = 405, [406] = 406, [407] = 407, [408] = 408, [409] = 409, [410] = 410, [411] = 411, [412] = 412, [413] = 413, [414] = 414, [415] = 415, [416] = 416, [417] = 417, [418] = 418, [419] = 419, [420] = 420, [421] = 421, [422] = 422, [423] = 423, [424] = 424, [425] = 425, [426] = 426, [427] = 427, [428] = 427, [429] = 427, [430] = 430, [431] = 431, [432] = 431, [433] = 431, [434] = 430, [435] = 430, [436] = 436, [437] = 437, [438] = 438, [439] = 439, [440] = 440, [441] = 440, [442] = 436, [443] = 440, [444] = 436, [445] = 440, [446] = 440, [447] = 436, [448] = 440, [449] = 436, [450] = 440, [451] = 436, [452] = 436, [453] = 453, [454] = 454, [455] = 455, [456] = 456, [457] = 457, [458] = 458, [459] = 459, [460] = 456, [461] = 461, [462] = 462, [463] = 463, [464] = 456, [465] = 461, [466] = 456, [467] = 461, [468] = 468, [469] = 453, [470] = 468, [471] = 468, [472] = 453, [473] = 461, [474] = 455, [475] = 456, [476] = 461, [477] = 477, [478] = 478, [479] = 479, [480] = 480, [481] = 481, [482] = 482, [483] = 483, [484] = 484, [485] = 485, [486] = 486, [487] = 487, [488] = 488, [489] = 489, [490] = 490, [491] = 491, [492] = 492, [493] = 493, [494] = 494, [495] = 495, [496] = 496, [497] = 497, [498] = 498, [499] = 495, [500] = 500, [501] = 494, [502] = 498, [503] = 503, [504] = 479, [505] = 489, [506] = 500, [507] = 507, [508] = 495, [509] = 500, [510] = 498, [511] = 479, [512] = 512, [513] = 513, [514] = 514, [515] = 515, [516] = 494, [517] = 486, [518] = 489, [519] = 519, [520] = 520, [521] = 494, [522] = 486, [523] = 523, [524] = 486, [525] = 484, [526] = 526, [527] = 486, [528] = 489, [529] = 486, [530] = 530, [531] = 531, [532] = 489, [533] = 486, [534] = 534, [535] = 48, [536] = 536, [537] = 537, [538] = 538, [539] = 539, [540] = 538, [541] = 541, [542] = 542, [543] = 543, [544] = 544, [545] = 545, [546] = 544, [547] = 54, [548] = 548, [549] = 549, [550] = 57, [551] = 551, [552] = 55, [553] = 553, [554] = 554, [555] = 555, [556] = 556, [557] = 557, [558] = 558, [559] = 559, [560] = 558, [561] = 59, [562] = 562, [563] = 563, [564] = 564, [565] = 69, [566] = 566, [567] = 558, [568] = 568, [569] = 569, [570] = 58, [571] = 571, [572] = 572, [573] = 573, [574] = 574, [575] = 575, [576] = 576, [577] = 577, [578] = 576, [579] = 574, [580] = 82, [581] = 15, [582] = 582, [583] = 575, [584] = 584, [585] = 585, [586] = 586, [587] = 575, [588] = 588, [589] = 575, [590] = 590, [591] = 591, [592] = 592, [593] = 576, [594] = 84, [595] = 572, [596] = 596, [597] = 597, [598] = 598, [599] = 599, [600] = 600, [601] = 601, [602] = 602, [603] = 603, [604] = 601, [605] = 605, [606] = 606, [607] = 598, [608] = 600, [609] = 602, [610] = 610, [611] = 611, [612] = 612, [613] = 613, [614] = 614, [615] = 615, [616] = 603, [617] = 606, [618] = 618, [619] = 619, [620] = 620, [621] = 621, [622] = 622, [623] = 601, [624] = 624, [625] = 625, [626] = 600, [627] = 605, [628] = 603, [629] = 629, [630] = 606, [631] = 602, [632] = 632, [633] = 633, [634] = 634, [635] = 635, [636] = 636, [637] = 637, [638] = 638, [639] = 639, [640] = 640, [641] = 605, [642] = 598, [643] = 643, [644] = 644, [645] = 645, [646] = 646, [647] = 647, [648] = 648, [649] = 649, [650] = 650, [651] = 651, [652] = 645, [653] = 653, [654] = 646, [655] = 655, [656] = 656, [657] = 643, [658] = 658, [659] = 659, [660] = 660, [661] = 661, [662] = 662, [663] = 643, [664] = 646, [665] = 665, [666] = 666, [667] = 667, [668] = 668, [669] = 669, [670] = 670, [671] = 671, [672] = 672, [673] = 673, [674] = 645, [675] = 675, [676] = 676, [677] = 677, [678] = 678, [679] = 679, [680] = 679, [681] = 681, [682] = 682, [683] = 683, [684] = 684, [685] = 685, [686] = 686, [687] = 687, [688] = 688, [689] = 689, [690] = 690, [691] = 691, [692] = 692, [693] = 693, [694] = 694, [695] = 688, [696] = 696, [697] = 675, [698] = 679, [699] = 699, [700] = 693, [701] = 701, [702] = 675, [703] = 703, [704] = 704, [705] = 705, [706] = 706, [707] = 707, [708] = 708, [709] = 709, [710] = 710, [711] = 711, [712] = 712, [713] = 692, [714] = 685, [715] = 715, [716] = 683, [717] = 717, [718] = 718, [719] = 691, [720] = 692, [721] = 721, [722] = 722, [723] = 723, [724] = 724, [725] = 685, [726] = 726, [727] = 683, [728] = 693, [729] = 729, [730] = 730, [731] = 726, [732] = 732, }; static const TSCharacterRange sym_format_specifier_character_set_1[] = { {' ', ' '}, {'#', '#'}, {'%', '%'}, {'+', '+'}, {'-', '.'}, {'0', '9'}, {'A', 'A'}, {'E', 'E'}, {'G', 'G'}, {'X', 'X'}, {'a', 'a'}, {'c', 'g'}, {'i', 'i'}, {'o', 'q'}, {'s', 's'}, {'u', 'u'}, {'x', 'x'}, }; static const TSCharacterRange sym_format_specifier_character_set_4[] = { {'0', '9'}, {'A', 'A'}, {'E', 'E'}, {'G', 'G'}, {'X', 'X'}, {'a', 'a'}, {'c', 'g'}, {'i', 'i'}, {'o', 'q'}, {'s', 's'}, {'u', 'u'}, {'x', 'x'}, }; static const TSCharacterRange sym_format_specifier_character_set_5[] = { {' ', ' '}, {'#', '#'}, {'.', '.'}, {'0', '9'}, {'A', 'A'}, {'E', 'E'}, {'G', 'G'}, {'X', 'X'}, {'a', 'a'}, {'c', 'g'}, {'i', 'i'}, {'o', 'q'}, {'s', 's'}, {'u', 'u'}, {'x', 'x'}, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(37); ADVANCE_MAP( '#', 47, '%', 92, '&', 60, '(', 42, ')', 43, '*', 64, '+', 63, ',', 41, '-', 48, '.', 77, '/', 65, '0', 83, ':', 71, ';', 40, '<', 52, '=', 45, '>', 58, '?', 81, '[', 72, '\\', 7, ']', 73, '^', 70, '{', 74, '|', 59, '}', 75, '~', 50, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(30); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= '_') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 1: if (lookahead == ' ') ADVANCE(3); if (lookahead == '#') ADVANCE(5); if (lookahead == '.') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); if (set_contains(sym_format_specifier_character_set_5, 15, lookahead)) ADVANCE(94); END_STATE(); case 2: if (lookahead == '!') ADVANCE(38); END_STATE(); case 3: if (lookahead == '#') ADVANCE(5); if (lookahead == '.') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); if (set_contains(sym_format_specifier_character_set_4, 12, lookahead)) ADVANCE(94); END_STATE(); case 4: if (lookahead == '.') ADVANCE(80); END_STATE(); case 5: if (lookahead == '.') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); if (set_contains(sym_format_specifier_character_set_4, 12, lookahead)) ADVANCE(94); END_STATE(); case 6: if (lookahead == '.') ADVANCE(4); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); END_STATE(); case 7: ADVANCE_MAP( 'd', 19, 'u', 8, 'x', 29, '"', 95, '\'', 95, '\\', 95, 'a', 95, 'b', 95, 'f', 95, 'n', 95, 'r', 95, 't', 95, 'v', 95, 'z', 95, ); END_STATE(); case 8: if (lookahead == '{') ADVANCE(27); END_STATE(); case 9: if (lookahead == '}') ADVANCE(95); END_STATE(); case 10: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(9); END_STATE(); case 11: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(10); END_STATE(); case 12: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(11); END_STATE(); case 13: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(12); END_STATE(); case 14: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(13); END_STATE(); case 15: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(14); END_STATE(); case 16: if (lookahead == '}') ADVANCE(95); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(15); END_STATE(); case 17: if (('0' <= lookahead && lookahead <= '7')) ADVANCE(95); END_STATE(); case 18: if (('0' <= lookahead && lookahead <= '7')) ADVANCE(17); END_STATE(); case 19: if (('0' <= lookahead && lookahead <= '7')) ADVANCE(18); END_STATE(); case 20: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); END_STATE(); case 21: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); END_STATE(); case 22: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); END_STATE(); case 23: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(24); if (set_contains(sym_format_specifier_character_set_4, 12, lookahead)) ADVANCE(94); END_STATE(); case 25: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(95); END_STATE(); case 26: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(89); END_STATE(); case 27: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(16); END_STATE(); case 28: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(90); END_STATE(); case 29: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(25); END_STATE(); case 30: if (eof) ADVANCE(37); ADVANCE_MAP( '#', 46, '%', 67, '&', 60, '(', 42, ')', 43, '*', 64, '+', 63, ',', 41, '-', 48, '.', 77, '/', 65, '0', 83, ':', 71, ';', 40, '<', 52, '=', 45, '>', 58, '?', 81, '[', 72, ']', 73, '^', 70, '{', 74, '|', 59, '}', 75, '~', 50, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(30); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 31: if (eof) ADVANCE(37); ADVANCE_MAP( '#', 46, '%', 93, '(', 42, ')', 43, ',', 41, '-', 48, '.', 6, '0', 83, ':', 71, ';', 40, '<', 51, '=', 44, '>', 57, '[', 72, '\\', 7, '{', 74, '|', 59, '}', 75, '~', 49, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(32); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 32: if (eof) ADVANCE(37); ADVANCE_MAP( '#', 46, '(', 42, ')', 43, ',', 41, '-', 48, '.', 6, '0', 83, ':', 71, ';', 40, '<', 51, '=', 44, '>', 57, '[', 72, '{', 74, '|', 59, '}', 75, '~', 49, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(32); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 33: if (eof) ADVANCE(37); ADVANCE_MAP( '#', 2, '%', 67, '&', 60, '(', 42, ')', 43, '*', 64, '+', 63, ',', 41, '-', 48, '.', 78, '/', 65, ':', 71, ';', 40, '<', 52, '=', 45, '>', 58, '[', 72, ']', 73, '^', 70, '{', 74, '|', 59, '}', 75, '~', 50, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(34); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 34: if (eof) ADVANCE(37); ADVANCE_MAP( '%', 67, '&', 60, '(', 42, ')', 43, '*', 64, '+', 63, ',', 41, '-', 48, '.', 78, '/', 65, ':', 71, ';', 40, '<', 52, '=', 45, '>', 58, '[', 72, ']', 73, '^', 70, '{', 74, '|', 59, '}', 75, '~', 50, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(34); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 35: if (eof) ADVANCE(37); ADVANCE_MAP( '%', 67, '&', 60, '(', 42, ')', 43, '*', 64, '+', 63, ',', 41, '-', 48, '.', 76, '/', 65, ':', 71, ';', 40, '<', 52, '=', 45, '>', 58, '[', 72, ']', 73, '^', 70, '{', 74, '|', 59, '}', 75, '~', 50, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(35); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 36: if (eof) ADVANCE(37); ADVANCE_MAP( '(', 42, ')', 43, ',', 41, '.', 79, ':', 71, ';', 40, '<', 51, '=', 44, '>', 57, '[', 72, '{', 74, '|', 59, '}', 75, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(36); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 37: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 38: ACCEPT_TOKEN(aux_sym_program_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(38); END_STATE(); case 39: ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); case 40: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 41: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 42: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 44: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 45: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(54); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_POUND); END_STATE(); case 47: ACCEPT_TOKEN(anon_sym_POUND); if (lookahead == '!') ADVANCE(38); END_STATE(); case 48: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 49: ACCEPT_TOKEN(anon_sym_TILDE); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_TILDE); if (lookahead == '=') ADVANCE(55); END_STATE(); case 51: ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '<') ADVANCE(61); if (lookahead == '=') ADVANCE(53); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 55: ACCEPT_TOKEN(anon_sym_TILDE_EQ); END_STATE(); case 56: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 57: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '=') ADVANCE(56); if (lookahead == '>') ADVANCE(62); END_STATE(); case 59: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); case 61: ACCEPT_TOKEN(anon_sym_LT_LT); END_STATE(); case 62: ACCEPT_TOKEN(anon_sym_GT_GT); END_STATE(); case 63: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 64: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 65: ACCEPT_TOKEN(anon_sym_SLASH); if (lookahead == '/') ADVANCE(66); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); case 67: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 68: ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_DOT_DOT); if (lookahead == '.') ADVANCE(80); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 71: ACCEPT_TOKEN(anon_sym_COLON); if (lookahead == ':') ADVANCE(39); END_STATE(); case 72: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 73: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 75: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 76: ACCEPT_TOKEN(anon_sym_DOT); if (lookahead == '.') ADVANCE(69); END_STATE(); case 77: ACCEPT_TOKEN(anon_sym_DOT); if (lookahead == '.') ADVANCE(69); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); END_STATE(); case 78: ACCEPT_TOKEN(anon_sym_DOT); if (lookahead == '.') ADVANCE(68); END_STATE(); case 79: ACCEPT_TOKEN(anon_sym_DOT); if (lookahead == '.') ADVANCE(4); END_STATE(); case 80: ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); case 81: ACCEPT_TOKEN(sym_optional_marker); END_STATE(); case 82: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(82); END_STATE(); case 83: ACCEPT_TOKEN(aux_sym_number_token1); if (lookahead == '.') ADVANCE(20); if (lookahead == 'x') ADVANCE(26); if (lookahead == 'E' || lookahead == 'e') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); END_STATE(); case 84: ACCEPT_TOKEN(aux_sym_number_token1); if (lookahead == '.') ADVANCE(20); if (lookahead == 'E' || lookahead == 'e') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(84); END_STATE(); case 85: ACCEPT_TOKEN(aux_sym_number_token1); if (lookahead == 'E' || lookahead == 'e') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); END_STATE(); case 86: ACCEPT_TOKEN(aux_sym_number_token1); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); END_STATE(); case 87: ACCEPT_TOKEN(aux_sym_number_token2); if (lookahead == 'E' || lookahead == 'e') ADVANCE(22); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(87); END_STATE(); case 88: ACCEPT_TOKEN(aux_sym_number_token2); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); END_STATE(); case 89: ACCEPT_TOKEN(aux_sym_number_token3); if (lookahead == '.') ADVANCE(28); if (lookahead == 'p') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(89); END_STATE(); case 90: ACCEPT_TOKEN(aux_sym_number_token3); if (lookahead == 'p') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(90); END_STATE(); case 91: ACCEPT_TOKEN(aux_sym_number_token3); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(91); END_STATE(); case 92: ACCEPT_TOKEN(anon_sym_PERCENT2); END_STATE(); case 93: ACCEPT_TOKEN(anon_sym_PERCENT2); if (lookahead == ' ') ADVANCE(3); if (lookahead == '#') ADVANCE(5); if (lookahead == '.') ADVANCE(24); if (lookahead == '+' || lookahead == '-') ADVANCE(1); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(5); if (set_contains(sym_format_specifier_character_set_1, 17, lookahead)) ADVANCE(94); END_STATE(); case 94: ACCEPT_TOKEN(sym_format_specifier); END_STATE(); case 95: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); default: return false; } } static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: ADVANCE_MAP( 'a', 1, 'b', 2, 'd', 3, 'e', 4, 'f', 5, 'g', 6, 'i', 7, 'l', 8, 'm', 9, 'n', 10, 'o', 11, 'r', 12, 't', 13, 'u', 14, 'w', 15, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); END_STATE(); case 1: if (lookahead == 'n') ADVANCE(16); if (lookahead == 's') ADVANCE(17); END_STATE(); case 2: if (lookahead == 'r') ADVANCE(18); END_STATE(); case 3: if (lookahead == 'o') ADVANCE(19); END_STATE(); case 4: if (lookahead == 'l') ADVANCE(20); if (lookahead == 'n') ADVANCE(21); END_STATE(); case 5: if (lookahead == 'a') ADVANCE(22); if (lookahead == 'o') ADVANCE(23); if (lookahead == 'u') ADVANCE(24); END_STATE(); case 6: if (lookahead == 'l') ADVANCE(25); if (lookahead == 'o') ADVANCE(26); END_STATE(); case 7: if (lookahead == 'f') ADVANCE(27); if (lookahead == 'n') ADVANCE(28); if (lookahead == 's') ADVANCE(29); END_STATE(); case 8: if (lookahead == 'o') ADVANCE(30); END_STATE(); case 9: if (lookahead == 'a') ADVANCE(31); if (lookahead == 'e') ADVANCE(32); END_STATE(); case 10: if (lookahead == 'i') ADVANCE(33); if (lookahead == 'o') ADVANCE(34); END_STATE(); case 11: if (lookahead == 'r') ADVANCE(35); END_STATE(); case 12: if (lookahead == 'e') ADVANCE(36); END_STATE(); case 13: if (lookahead == 'h') ADVANCE(37); if (lookahead == 'r') ADVANCE(38); if (lookahead == 'y') ADVANCE(39); END_STATE(); case 14: if (lookahead == 'n') ADVANCE(40); if (lookahead == 's') ADVANCE(41); END_STATE(); case 15: if (lookahead == 'h') ADVANCE(42); END_STATE(); case 16: if (lookahead == 'd') ADVANCE(43); END_STATE(); case 17: ACCEPT_TOKEN(anon_sym_as); END_STATE(); case 18: if (lookahead == 'e') ADVANCE(44); END_STATE(); case 19: ACCEPT_TOKEN(anon_sym_do); END_STATE(); case 20: if (lookahead == 's') ADVANCE(45); END_STATE(); case 21: if (lookahead == 'd') ADVANCE(46); if (lookahead == 'u') ADVANCE(47); END_STATE(); case 22: if (lookahead == 'l') ADVANCE(48); END_STATE(); case 23: if (lookahead == 'r') ADVANCE(49); END_STATE(); case 24: if (lookahead == 'n') ADVANCE(50); END_STATE(); case 25: if (lookahead == 'o') ADVANCE(51); END_STATE(); case 26: if (lookahead == 't') ADVANCE(52); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_in); if (lookahead == 't') ADVANCE(53); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_is); END_STATE(); case 30: if (lookahead == 'c') ADVANCE(54); END_STATE(); case 31: if (lookahead == 'c') ADVANCE(55); END_STATE(); case 32: if (lookahead == 't') ADVANCE(56); END_STATE(); case 33: if (lookahead == 'l') ADVANCE(57); END_STATE(); case 34: if (lookahead == 't') ADVANCE(58); END_STATE(); case 35: ACCEPT_TOKEN(anon_sym_or); END_STATE(); case 36: if (lookahead == 'c') ADVANCE(59); if (lookahead == 'p') ADVANCE(60); if (lookahead == 't') ADVANCE(61); END_STATE(); case 37: if (lookahead == 'e') ADVANCE(62); END_STATE(); case 38: if (lookahead == 'u') ADVANCE(63); END_STATE(); case 39: if (lookahead == 'p') ADVANCE(64); END_STATE(); case 40: if (lookahead == 't') ADVANCE(65); END_STATE(); case 41: if (lookahead == 'e') ADVANCE(66); END_STATE(); case 42: if (lookahead == 'e') ADVANCE(67); if (lookahead == 'i') ADVANCE(68); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_and); END_STATE(); case 44: if (lookahead == 'a') ADVANCE(69); END_STATE(); case 45: if (lookahead == 'e') ADVANCE(70); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_end); END_STATE(); case 47: if (lookahead == 'm') ADVANCE(71); END_STATE(); case 48: if (lookahead == 's') ADVANCE(72); END_STATE(); case 49: ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 50: if (lookahead == 'c') ADVANCE(73); END_STATE(); case 51: if (lookahead == 'b') ADVANCE(74); END_STATE(); case 52: if (lookahead == 'o') ADVANCE(75); END_STATE(); case 53: if (lookahead == 'e') ADVANCE(76); END_STATE(); case 54: if (lookahead == 'a') ADVANCE(77); END_STATE(); case 55: if (lookahead == 'r') ADVANCE(78); END_STATE(); case 56: if (lookahead == 'a') ADVANCE(79); END_STATE(); case 57: ACCEPT_TOKEN(sym_nil); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_not); END_STATE(); case 59: if (lookahead == 'o') ADVANCE(80); END_STATE(); case 60: if (lookahead == 'e') ADVANCE(81); END_STATE(); case 61: if (lookahead == 'u') ADVANCE(82); END_STATE(); case 62: if (lookahead == 'n') ADVANCE(83); END_STATE(); case 63: if (lookahead == 'e') ADVANCE(84); END_STATE(); case 64: if (lookahead == 'e') ADVANCE(85); END_STATE(); case 65: if (lookahead == 'i') ADVANCE(86); END_STATE(); case 66: if (lookahead == 'r') ADVANCE(87); END_STATE(); case 67: if (lookahead == 'r') ADVANCE(88); END_STATE(); case 68: if (lookahead == 'l') ADVANCE(89); END_STATE(); case 69: if (lookahead == 'k') ADVANCE(90); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_else); if (lookahead == 'i') ADVANCE(91); END_STATE(); case 71: ACCEPT_TOKEN(anon_sym_enum); END_STATE(); case 72: if (lookahead == 'e') ADVANCE(92); END_STATE(); case 73: if (lookahead == 't') ADVANCE(93); END_STATE(); case 74: if (lookahead == 'a') ADVANCE(94); END_STATE(); case 75: ACCEPT_TOKEN(anon_sym_goto); END_STATE(); case 76: if (lookahead == 'r') ADVANCE(95); END_STATE(); case 77: if (lookahead == 'l') ADVANCE(96); END_STATE(); case 78: if (lookahead == 'o') ADVANCE(97); END_STATE(); case 79: if (lookahead == 'm') ADVANCE(98); END_STATE(); case 80: if (lookahead == 'r') ADVANCE(99); END_STATE(); case 81: if (lookahead == 'a') ADVANCE(100); END_STATE(); case 82: if (lookahead == 'r') ADVANCE(101); END_STATE(); case 83: ACCEPT_TOKEN(anon_sym_then); END_STATE(); case 84: ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 85: ACCEPT_TOKEN(anon_sym_type); END_STATE(); case 86: if (lookahead == 'l') ADVANCE(102); END_STATE(); case 87: if (lookahead == 'd') ADVANCE(103); END_STATE(); case 88: if (lookahead == 'e') ADVANCE(104); END_STATE(); case 89: if (lookahead == 'e') ADVANCE(105); END_STATE(); case 90: ACCEPT_TOKEN(sym_break); END_STATE(); case 91: if (lookahead == 'f') ADVANCE(106); END_STATE(); case 92: ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 93: if (lookahead == 'i') ADVANCE(107); END_STATE(); case 94: if (lookahead == 'l') ADVANCE(108); END_STATE(); case 95: if (lookahead == 'f') ADVANCE(109); END_STATE(); case 96: ACCEPT_TOKEN(anon_sym_local); END_STATE(); case 97: if (lookahead == 'e') ADVANCE(110); END_STATE(); case 98: if (lookahead == 'e') ADVANCE(111); END_STATE(); case 99: if (lookahead == 'd') ADVANCE(112); END_STATE(); case 100: if (lookahead == 't') ADVANCE(113); END_STATE(); case 101: if (lookahead == 'n') ADVANCE(114); END_STATE(); case 102: ACCEPT_TOKEN(anon_sym_until); END_STATE(); case 103: if (lookahead == 'a') ADVANCE(115); END_STATE(); case 104: ACCEPT_TOKEN(anon_sym_where); END_STATE(); case 105: ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 106: ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); case 107: if (lookahead == 'o') ADVANCE(116); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_global); END_STATE(); case 109: if (lookahead == 'a') ADVANCE(117); END_STATE(); case 110: if (lookahead == 'x') ADVANCE(118); END_STATE(); case 111: if (lookahead == 't') ADVANCE(119); END_STATE(); case 112: ACCEPT_TOKEN(anon_sym_record); END_STATE(); case 113: ACCEPT_TOKEN(anon_sym_repeat); END_STATE(); case 114: ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 115: if (lookahead == 't') ADVANCE(120); END_STATE(); case 116: if (lookahead == 'n') ADVANCE(121); END_STATE(); case 117: if (lookahead == 'c') ADVANCE(122); END_STATE(); case 118: if (lookahead == 'p') ADVANCE(123); END_STATE(); case 119: if (lookahead == 'h') ADVANCE(124); END_STATE(); case 120: if (lookahead == 'a') ADVANCE(125); END_STATE(); case 121: ACCEPT_TOKEN(anon_sym_function); END_STATE(); case 122: if (lookahead == 'e') ADVANCE(126); END_STATE(); case 123: ACCEPT_TOKEN(anon_sym_macroexp); END_STATE(); case 124: if (lookahead == 'o') ADVANCE(127); END_STATE(); case 125: ACCEPT_TOKEN(anon_sym_userdata); END_STATE(); case 126: ACCEPT_TOKEN(anon_sym_interface); END_STATE(); case 127: if (lookahead == 'd') ADVANCE(128); END_STATE(); case 128: ACCEPT_TOKEN(anon_sym_metamethod); END_STATE(); default: return false; } } static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, [1] = {.lex_state = 33, .external_lex_state = 2}, [2] = {.lex_state = 33, .external_lex_state = 3}, [3] = {.lex_state = 33, .external_lex_state = 3}, [4] = {.lex_state = 33, .external_lex_state = 2}, [5] = {.lex_state = 33, .external_lex_state = 3}, [6] = {.lex_state = 33, .external_lex_state = 2}, [7] = {.lex_state = 33, .external_lex_state = 3}, [8] = {.lex_state = 33, .external_lex_state = 2}, [9] = {.lex_state = 33, .external_lex_state = 3}, [10] = {.lex_state = 33, .external_lex_state = 2}, [11] = {.lex_state = 33, .external_lex_state = 3}, [12] = {.lex_state = 33, .external_lex_state = 3}, [13] = {.lex_state = 33, .external_lex_state = 3}, [14] = {.lex_state = 33, .external_lex_state = 3}, [15] = {.lex_state = 35, .external_lex_state = 2}, [16] = {.lex_state = 33, .external_lex_state = 2}, [17] = {.lex_state = 33, .external_lex_state = 3}, [18] = {.lex_state = 33, .external_lex_state = 2}, [19] = {.lex_state = 33, .external_lex_state = 3}, [20] = {.lex_state = 33, .external_lex_state = 3}, [21] = {.lex_state = 33, .external_lex_state = 3}, [22] = {.lex_state = 33, .external_lex_state = 3}, [23] = {.lex_state = 33, .external_lex_state = 3}, [24] = {.lex_state = 33, .external_lex_state = 3}, [25] = {.lex_state = 33, .external_lex_state = 3}, [26] = {.lex_state = 35, .external_lex_state = 2}, [27] = {.lex_state = 33, .external_lex_state = 2}, [28] = {.lex_state = 33, .external_lex_state = 2}, [29] = {.lex_state = 33, .external_lex_state = 2}, [30] = {.lex_state = 33, .external_lex_state = 2}, [31] = {.lex_state = 33, .external_lex_state = 2}, [32] = {.lex_state = 33, .external_lex_state = 2}, [33] = {.lex_state = 33, .external_lex_state = 2}, [34] = {.lex_state = 33, .external_lex_state = 2}, [35] = {.lex_state = 33, .external_lex_state = 2}, [36] = {.lex_state = 33, .external_lex_state = 2}, [37] = {.lex_state = 33, .external_lex_state = 2}, [38] = {.lex_state = 33, .external_lex_state = 2}, [39] = {.lex_state = 33, .external_lex_state = 2}, [40] = {.lex_state = 33, .external_lex_state = 2}, [41] = {.lex_state = 33, .external_lex_state = 2}, [42] = {.lex_state = 33, .external_lex_state = 2}, [43] = {.lex_state = 33, .external_lex_state = 2}, [44] = {.lex_state = 33, .external_lex_state = 2}, [45] = {.lex_state = 33, .external_lex_state = 2}, [46] = {.lex_state = 33, .external_lex_state = 2}, [47] = {.lex_state = 33, .external_lex_state = 2}, [48] = {.lex_state = 35, .external_lex_state = 2}, [49] = {.lex_state = 35, .external_lex_state = 2}, [50] = {.lex_state = 33, .external_lex_state = 2}, [51] = {.lex_state = 33, .external_lex_state = 2}, [52] = {.lex_state = 33, .external_lex_state = 2}, [53] = {.lex_state = 35, .external_lex_state = 2}, [54] = {.lex_state = 35, .external_lex_state = 2}, [55] = {.lex_state = 35, .external_lex_state = 2}, [56] = {.lex_state = 35, .external_lex_state = 2}, [57] = {.lex_state = 35, .external_lex_state = 2}, [58] = {.lex_state = 35, .external_lex_state = 2}, [59] = {.lex_state = 35, .external_lex_state = 2}, [60] = {.lex_state = 35, .external_lex_state = 2}, [61] = {.lex_state = 35, .external_lex_state = 2}, [62] = {.lex_state = 35, .external_lex_state = 2}, [63] = {.lex_state = 35, .external_lex_state = 2}, [64] = {.lex_state = 35, .external_lex_state = 2}, [65] = {.lex_state = 35, .external_lex_state = 2}, [66] = {.lex_state = 35, .external_lex_state = 2}, [67] = {.lex_state = 35, .external_lex_state = 2}, [68] = {.lex_state = 35, .external_lex_state = 2}, [69] = {.lex_state = 35, .external_lex_state = 2}, [70] = {.lex_state = 33, .external_lex_state = 2}, [71] = {.lex_state = 35, .external_lex_state = 2}, [72] = {.lex_state = 35, .external_lex_state = 2}, [73] = {.lex_state = 35, .external_lex_state = 2}, [74] = {.lex_state = 35, .external_lex_state = 2}, [75] = {.lex_state = 35, .external_lex_state = 2}, [76] = {.lex_state = 35, .external_lex_state = 2}, [77] = {.lex_state = 35, .external_lex_state = 2}, [78] = {.lex_state = 35, .external_lex_state = 2}, [79] = {.lex_state = 35, .external_lex_state = 2}, [80] = {.lex_state = 33, .external_lex_state = 2}, [81] = {.lex_state = 35, .external_lex_state = 2}, [82] = {.lex_state = 35, .external_lex_state = 2}, [83] = {.lex_state = 35, .external_lex_state = 2}, [84] = {.lex_state = 35, .external_lex_state = 2}, [85] = {.lex_state = 35, .external_lex_state = 2}, [86] = {.lex_state = 35, .external_lex_state = 2}, [87] = {.lex_state = 33, .external_lex_state = 2}, [88] = {.lex_state = 35, .external_lex_state = 2}, [89] = {.lex_state = 35, .external_lex_state = 2}, [90] = {.lex_state = 35, .external_lex_state = 2}, [91] = {.lex_state = 33, .external_lex_state = 2}, [92] = {.lex_state = 33, .external_lex_state = 2}, [93] = {.lex_state = 35, .external_lex_state = 2}, [94] = {.lex_state = 35, .external_lex_state = 2}, [95] = {.lex_state = 33, .external_lex_state = 2}, [96] = {.lex_state = 35, .external_lex_state = 2}, [97] = {.lex_state = 35, .external_lex_state = 2}, [98] = {.lex_state = 33, .external_lex_state = 2}, [99] = {.lex_state = 33, .external_lex_state = 2}, [100] = {.lex_state = 33, .external_lex_state = 2}, [101] = {.lex_state = 33, .external_lex_state = 2}, [102] = {.lex_state = 33, .external_lex_state = 2}, [103] = {.lex_state = 33, .external_lex_state = 2}, [104] = {.lex_state = 33, .external_lex_state = 2}, [105] = {.lex_state = 33, .external_lex_state = 2}, [106] = {.lex_state = 33, .external_lex_state = 2}, [107] = {.lex_state = 33, .external_lex_state = 2}, [108] = {.lex_state = 33, .external_lex_state = 2}, [109] = {.lex_state = 33, .external_lex_state = 2}, [110] = {.lex_state = 33, .external_lex_state = 2}, [111] = {.lex_state = 33, .external_lex_state = 2}, [112] = {.lex_state = 33, .external_lex_state = 2}, [113] = {.lex_state = 33, .external_lex_state = 2}, [114] = {.lex_state = 33, .external_lex_state = 2}, [115] = {.lex_state = 33, .external_lex_state = 2}, [116] = {.lex_state = 33, .external_lex_state = 2}, [117] = {.lex_state = 33, .external_lex_state = 2}, [118] = {.lex_state = 33, .external_lex_state = 2}, [119] = {.lex_state = 33, .external_lex_state = 2}, [120] = {.lex_state = 33, .external_lex_state = 2}, [121] = {.lex_state = 33, .external_lex_state = 2}, [122] = {.lex_state = 33, .external_lex_state = 2}, [123] = {.lex_state = 33, .external_lex_state = 2}, [124] = {.lex_state = 33, .external_lex_state = 2}, [125] = {.lex_state = 33, .external_lex_state = 2}, [126] = {.lex_state = 33, .external_lex_state = 2}, [127] = {.lex_state = 33, .external_lex_state = 2}, [128] = {.lex_state = 33, .external_lex_state = 2}, [129] = {.lex_state = 33, .external_lex_state = 2}, [130] = {.lex_state = 33, .external_lex_state = 2}, [131] = {.lex_state = 33, .external_lex_state = 2}, [132] = {.lex_state = 33, .external_lex_state = 2}, [133] = {.lex_state = 33, .external_lex_state = 3}, [134] = {.lex_state = 31, .external_lex_state = 3}, [135] = {.lex_state = 0, .external_lex_state = 2}, [136] = {.lex_state = 33, .external_lex_state = 2}, [137] = {.lex_state = 33, .external_lex_state = 2}, [138] = {.lex_state = 33, .external_lex_state = 2}, [139] = {.lex_state = 0, .external_lex_state = 2}, [140] = {.lex_state = 33, .external_lex_state = 2}, [141] = {.lex_state = 33, .external_lex_state = 2}, [142] = {.lex_state = 33, .external_lex_state = 2}, [143] = {.lex_state = 33, .external_lex_state = 2}, [144] = {.lex_state = 33, .external_lex_state = 2}, [145] = {.lex_state = 33, .external_lex_state = 2}, [146] = {.lex_state = 33, .external_lex_state = 2}, [147] = {.lex_state = 33, .external_lex_state = 2}, [148] = {.lex_state = 33, .external_lex_state = 2}, [149] = {.lex_state = 33, .external_lex_state = 2}, [150] = {.lex_state = 33, .external_lex_state = 2}, [151] = {.lex_state = 0, .external_lex_state = 2}, [152] = {.lex_state = 33, .external_lex_state = 2}, [153] = {.lex_state = 33, .external_lex_state = 2}, [154] = {.lex_state = 33, .external_lex_state = 2}, [155] = {.lex_state = 0, .external_lex_state = 2}, [156] = {.lex_state = 33, .external_lex_state = 2}, [157] = {.lex_state = 0, .external_lex_state = 2}, [158] = {.lex_state = 33, .external_lex_state = 2}, [159] = {.lex_state = 33, .external_lex_state = 2}, [160] = {.lex_state = 33, .external_lex_state = 2}, [161] = {.lex_state = 0, .external_lex_state = 2}, [162] = {.lex_state = 0, .external_lex_state = 2}, [163] = {.lex_state = 0, .external_lex_state = 2}, [164] = {.lex_state = 0, .external_lex_state = 2}, [165] = {.lex_state = 0, .external_lex_state = 2}, [166] = {.lex_state = 0, .external_lex_state = 2}, [167] = {.lex_state = 0, .external_lex_state = 2}, [168] = {.lex_state = 0, .external_lex_state = 2}, [169] = {.lex_state = 0, .external_lex_state = 2}, [170] = {.lex_state = 36, .external_lex_state = 2}, [171] = {.lex_state = 36, .external_lex_state = 2}, [172] = {.lex_state = 0, .external_lex_state = 2}, [173] = {.lex_state = 0, .external_lex_state = 2}, [174] = {.lex_state = 0, .external_lex_state = 2}, [175] = {.lex_state = 0, .external_lex_state = 2}, [176] = {.lex_state = 0, .external_lex_state = 2}, [177] = {.lex_state = 36, .external_lex_state = 2}, [178] = {.lex_state = 36, .external_lex_state = 2}, [179] = {.lex_state = 0, .external_lex_state = 2}, [180] = {.lex_state = 36, .external_lex_state = 2}, [181] = {.lex_state = 36, .external_lex_state = 2}, [182] = {.lex_state = 31, .external_lex_state = 2}, [183] = {.lex_state = 31, .external_lex_state = 2}, [184] = {.lex_state = 31, .external_lex_state = 2}, [185] = {.lex_state = 0, .external_lex_state = 2}, [186] = {.lex_state = 31, .external_lex_state = 2}, [187] = {.lex_state = 31, .external_lex_state = 2}, [188] = {.lex_state = 31, .external_lex_state = 2}, [189] = {.lex_state = 31, .external_lex_state = 2}, [190] = {.lex_state = 31, .external_lex_state = 2}, [191] = {.lex_state = 31, .external_lex_state = 2}, [192] = {.lex_state = 0, .external_lex_state = 2}, [193] = {.lex_state = 31, .external_lex_state = 3}, [194] = {.lex_state = 31, .external_lex_state = 2}, [195] = {.lex_state = 0, .external_lex_state = 2}, [196] = {.lex_state = 31, .external_lex_state = 3}, [197] = {.lex_state = 31, .external_lex_state = 2}, [198] = {.lex_state = 31, .external_lex_state = 2}, [199] = {.lex_state = 31, .external_lex_state = 2}, [200] = {.lex_state = 31, .external_lex_state = 2}, [201] = {.lex_state = 31, .external_lex_state = 2}, [202] = {.lex_state = 31, .external_lex_state = 2}, [203] = {.lex_state = 31, .external_lex_state = 2}, [204] = {.lex_state = 31, .external_lex_state = 2}, [205] = {.lex_state = 31, .external_lex_state = 2}, [206] = {.lex_state = 31, .external_lex_state = 2}, [207] = {.lex_state = 31, .external_lex_state = 2}, [208] = {.lex_state = 31, .external_lex_state = 2}, [209] = {.lex_state = 31, .external_lex_state = 2}, [210] = {.lex_state = 0, .external_lex_state = 2}, [211] = {.lex_state = 0, .external_lex_state = 2}, [212] = {.lex_state = 31, .external_lex_state = 2}, [213] = {.lex_state = 0, .external_lex_state = 2}, [214] = {.lex_state = 0, .external_lex_state = 2}, [215] = {.lex_state = 0, .external_lex_state = 2}, [216] = {.lex_state = 0, .external_lex_state = 2}, [217] = {.lex_state = 0, .external_lex_state = 2}, [218] = {.lex_state = 0, .external_lex_state = 2}, [219] = {.lex_state = 0, .external_lex_state = 2}, [220] = {.lex_state = 0, .external_lex_state = 2}, [221] = {.lex_state = 31, .external_lex_state = 3}, [222] = {.lex_state = 31, .external_lex_state = 3}, [223] = {.lex_state = 31, .external_lex_state = 3}, [224] = {.lex_state = 0, .external_lex_state = 2}, [225] = {.lex_state = 0, .external_lex_state = 2}, [226] = {.lex_state = 0, .external_lex_state = 2}, [227] = {.lex_state = 31, .external_lex_state = 3}, [228] = {.lex_state = 0, .external_lex_state = 2}, [229] = {.lex_state = 31, .external_lex_state = 3}, [230] = {.lex_state = 0, .external_lex_state = 2}, [231] = {.lex_state = 31, .external_lex_state = 3}, [232] = {.lex_state = 31, .external_lex_state = 3}, [233] = {.lex_state = 33, .external_lex_state = 3}, [234] = {.lex_state = 31, .external_lex_state = 3}, [235] = {.lex_state = 31, .external_lex_state = 3}, [236] = {.lex_state = 0, .external_lex_state = 2}, [237] = {.lex_state = 31, .external_lex_state = 3}, [238] = {.lex_state = 31, .external_lex_state = 3}, [239] = {.lex_state = 31, .external_lex_state = 3}, [240] = {.lex_state = 31, .external_lex_state = 3}, [241] = {.lex_state = 31, .external_lex_state = 3}, [242] = {.lex_state = 31, .external_lex_state = 3}, [243] = {.lex_state = 31, .external_lex_state = 3}, [244] = {.lex_state = 31, .external_lex_state = 3}, [245] = {.lex_state = 31, .external_lex_state = 3}, [246] = {.lex_state = 31, .external_lex_state = 3}, [247] = {.lex_state = 31, .external_lex_state = 3}, [248] = {.lex_state = 31, .external_lex_state = 3}, [249] = {.lex_state = 31, .external_lex_state = 3}, [250] = {.lex_state = 31, .external_lex_state = 3}, [251] = {.lex_state = 31, .external_lex_state = 3}, [252] = {.lex_state = 31, .external_lex_state = 3}, [253] = {.lex_state = 31, .external_lex_state = 3}, [254] = {.lex_state = 31, .external_lex_state = 3}, [255] = {.lex_state = 31, .external_lex_state = 3}, [256] = {.lex_state = 31, .external_lex_state = 3}, [257] = {.lex_state = 31, .external_lex_state = 3}, [258] = {.lex_state = 31, .external_lex_state = 3}, [259] = {.lex_state = 31, .external_lex_state = 3}, [260] = {.lex_state = 31, .external_lex_state = 3}, [261] = {.lex_state = 31, .external_lex_state = 3}, [262] = {.lex_state = 31, .external_lex_state = 3}, [263] = {.lex_state = 31, .external_lex_state = 3}, [264] = {.lex_state = 31, .external_lex_state = 3}, [265] = {.lex_state = 31, .external_lex_state = 3}, [266] = {.lex_state = 31, .external_lex_state = 3}, [267] = {.lex_state = 31, .external_lex_state = 3}, [268] = {.lex_state = 31, .external_lex_state = 3}, [269] = {.lex_state = 31, .external_lex_state = 3}, [270] = {.lex_state = 0, .external_lex_state = 2}, [271] = {.lex_state = 0, .external_lex_state = 2}, [272] = {.lex_state = 31, .external_lex_state = 3}, [273] = {.lex_state = 0, .external_lex_state = 2}, [274] = {.lex_state = 31, .external_lex_state = 3}, [275] = {.lex_state = 31, .external_lex_state = 3}, [276] = {.lex_state = 31, .external_lex_state = 3}, [277] = {.lex_state = 31, .external_lex_state = 3}, [278] = {.lex_state = 31, .external_lex_state = 3}, [279] = {.lex_state = 31, .external_lex_state = 3}, [280] = {.lex_state = 31, .external_lex_state = 3}, [281] = {.lex_state = 31, .external_lex_state = 3}, [282] = {.lex_state = 31, .external_lex_state = 3}, [283] = {.lex_state = 31, .external_lex_state = 3}, [284] = {.lex_state = 31, .external_lex_state = 3}, [285] = {.lex_state = 31, .external_lex_state = 3}, [286] = {.lex_state = 33, .external_lex_state = 3}, [287] = {.lex_state = 0, .external_lex_state = 2}, [288] = {.lex_state = 0, .external_lex_state = 2}, [289] = {.lex_state = 0, .external_lex_state = 2}, [290] = {.lex_state = 0, .external_lex_state = 2}, [291] = {.lex_state = 0, .external_lex_state = 2}, [292] = {.lex_state = 0, .external_lex_state = 2}, [293] = {.lex_state = 0, .external_lex_state = 2}, [294] = {.lex_state = 0, .external_lex_state = 2}, [295] = {.lex_state = 0, .external_lex_state = 2}, [296] = {.lex_state = 0, .external_lex_state = 2}, [297] = {.lex_state = 0, .external_lex_state = 2}, [298] = {.lex_state = 0, .external_lex_state = 2}, [299] = {.lex_state = 0, .external_lex_state = 2}, [300] = {.lex_state = 0, .external_lex_state = 2}, [301] = {.lex_state = 0, .external_lex_state = 2}, [302] = {.lex_state = 0, .external_lex_state = 2}, [303] = {.lex_state = 0, .external_lex_state = 2}, [304] = {.lex_state = 0, .external_lex_state = 2}, [305] = {.lex_state = 0, .external_lex_state = 2}, [306] = {.lex_state = 0, .external_lex_state = 2}, [307] = {.lex_state = 0, .external_lex_state = 2}, [308] = {.lex_state = 0, .external_lex_state = 2}, [309] = {.lex_state = 0, .external_lex_state = 2}, [310] = {.lex_state = 0, .external_lex_state = 2}, [311] = {.lex_state = 0, .external_lex_state = 2}, [312] = {.lex_state = 0, .external_lex_state = 2}, [313] = {.lex_state = 0, .external_lex_state = 2}, [314] = {.lex_state = 0, .external_lex_state = 2}, [315] = {.lex_state = 0, .external_lex_state = 2}, [316] = {.lex_state = 0, .external_lex_state = 2}, [317] = {.lex_state = 0, .external_lex_state = 2}, [318] = {.lex_state = 0, .external_lex_state = 2}, [319] = {.lex_state = 0, .external_lex_state = 2}, [320] = {.lex_state = 0, .external_lex_state = 2}, [321] = {.lex_state = 0, .external_lex_state = 2}, [322] = {.lex_state = 0, .external_lex_state = 2}, [323] = {.lex_state = 33, .external_lex_state = 2}, [324] = {.lex_state = 33, .external_lex_state = 2}, [325] = {.lex_state = 33, .external_lex_state = 2}, [326] = {.lex_state = 33, .external_lex_state = 2}, [327] = {.lex_state = 33, .external_lex_state = 3}, [328] = {.lex_state = 33, .external_lex_state = 2}, [329] = {.lex_state = 33, .external_lex_state = 2}, [330] = {.lex_state = 33, .external_lex_state = 2}, [331] = {.lex_state = 33, .external_lex_state = 2}, [332] = {.lex_state = 33, .external_lex_state = 2}, [333] = {.lex_state = 33, .external_lex_state = 2}, [334] = {.lex_state = 33, .external_lex_state = 2}, [335] = {.lex_state = 33, .external_lex_state = 2}, [336] = {.lex_state = 33, .external_lex_state = 2}, [337] = {.lex_state = 0, .external_lex_state = 2}, [338] = {.lex_state = 33, .external_lex_state = 2}, [339] = {.lex_state = 0, .external_lex_state = 2}, [340] = {.lex_state = 0, .external_lex_state = 2}, [341] = {.lex_state = 0, .external_lex_state = 2}, [342] = {.lex_state = 0, .external_lex_state = 2}, [343] = {.lex_state = 0, .external_lex_state = 2}, [344] = {.lex_state = 0, .external_lex_state = 2}, [345] = {.lex_state = 33, .external_lex_state = 2}, [346] = {.lex_state = 0, .external_lex_state = 2}, [347] = {.lex_state = 33, .external_lex_state = 2}, [348] = {.lex_state = 33, .external_lex_state = 2}, [349] = {.lex_state = 33, .external_lex_state = 2}, [350] = {.lex_state = 0, .external_lex_state = 2}, [351] = {.lex_state = 0, .external_lex_state = 2}, [352] = {.lex_state = 0, .external_lex_state = 2}, [353] = {.lex_state = 0, .external_lex_state = 2}, [354] = {.lex_state = 0, .external_lex_state = 2}, [355] = {.lex_state = 0, .external_lex_state = 2}, [356] = {.lex_state = 0, .external_lex_state = 2}, [357] = {.lex_state = 0, .external_lex_state = 2}, [358] = {.lex_state = 0, .external_lex_state = 2}, [359] = {.lex_state = 0, .external_lex_state = 2}, [360] = {.lex_state = 0, .external_lex_state = 2}, [361] = {.lex_state = 0, .external_lex_state = 2}, [362] = {.lex_state = 0, .external_lex_state = 2}, [363] = {.lex_state = 0, .external_lex_state = 2}, [364] = {.lex_state = 0, .external_lex_state = 2}, [365] = {.lex_state = 0, .external_lex_state = 2}, [366] = {.lex_state = 0, .external_lex_state = 2}, [367] = {.lex_state = 0, .external_lex_state = 2}, [368] = {.lex_state = 0, .external_lex_state = 2}, [369] = {.lex_state = 0, .external_lex_state = 2}, [370] = {.lex_state = 0, .external_lex_state = 2}, [371] = {.lex_state = 0, .external_lex_state = 2}, [372] = {.lex_state = 0, .external_lex_state = 2}, [373] = {.lex_state = 0, .external_lex_state = 2}, [374] = {.lex_state = 0, .external_lex_state = 2}, [375] = {.lex_state = 0, .external_lex_state = 2}, [376] = {.lex_state = 0, .external_lex_state = 2}, [377] = {.lex_state = 0, .external_lex_state = 2}, [378] = {.lex_state = 0, .external_lex_state = 2}, [379] = {.lex_state = 0, .external_lex_state = 2}, [380] = {.lex_state = 0, .external_lex_state = 2}, [381] = {.lex_state = 0, .external_lex_state = 2}, [382] = {.lex_state = 0, .external_lex_state = 2}, [383] = {.lex_state = 0, .external_lex_state = 2}, [384] = {.lex_state = 0, .external_lex_state = 2}, [385] = {.lex_state = 0, .external_lex_state = 2}, [386] = {.lex_state = 0, .external_lex_state = 2}, [387] = {.lex_state = 0, .external_lex_state = 2}, [388] = {.lex_state = 0, .external_lex_state = 2}, [389] = {.lex_state = 0, .external_lex_state = 2}, [390] = {.lex_state = 0, .external_lex_state = 2}, [391] = {.lex_state = 0, .external_lex_state = 2}, [392] = {.lex_state = 0, .external_lex_state = 2}, [393] = {.lex_state = 0, .external_lex_state = 2}, [394] = {.lex_state = 0, .external_lex_state = 2}, [395] = {.lex_state = 0, .external_lex_state = 2}, [396] = {.lex_state = 0, .external_lex_state = 2}, [397] = {.lex_state = 0, .external_lex_state = 2}, [398] = {.lex_state = 0, .external_lex_state = 2}, [399] = {.lex_state = 0, .external_lex_state = 2}, [400] = {.lex_state = 0, .external_lex_state = 2}, [401] = {.lex_state = 0, .external_lex_state = 2}, [402] = {.lex_state = 0, .external_lex_state = 2}, [403] = {.lex_state = 0, .external_lex_state = 2}, [404] = {.lex_state = 0, .external_lex_state = 2}, [405] = {.lex_state = 0, .external_lex_state = 2}, [406] = {.lex_state = 0, .external_lex_state = 2}, [407] = {.lex_state = 0, .external_lex_state = 2}, [408] = {.lex_state = 0, .external_lex_state = 2}, [409] = {.lex_state = 0, .external_lex_state = 2}, [410] = {.lex_state = 0, .external_lex_state = 2}, [411] = {.lex_state = 0, .external_lex_state = 2}, [412] = {.lex_state = 0, .external_lex_state = 2}, [413] = {.lex_state = 0, .external_lex_state = 2}, [414] = {.lex_state = 0, .external_lex_state = 2}, [415] = {.lex_state = 0, .external_lex_state = 2}, [416] = {.lex_state = 0, .external_lex_state = 2}, [417] = {.lex_state = 0, .external_lex_state = 2}, [418] = {.lex_state = 0, .external_lex_state = 2}, [419] = {.lex_state = 0, .external_lex_state = 2}, [420] = {.lex_state = 0, .external_lex_state = 2}, [421] = {.lex_state = 0, .external_lex_state = 2}, [422] = {.lex_state = 0, .external_lex_state = 2}, [423] = {.lex_state = 0, .external_lex_state = 2}, [424] = {.lex_state = 0, .external_lex_state = 2}, [425] = {.lex_state = 0, .external_lex_state = 2}, [426] = {.lex_state = 0, .external_lex_state = 2}, [427] = {.lex_state = 0, .external_lex_state = 2}, [428] = {.lex_state = 0, .external_lex_state = 2}, [429] = {.lex_state = 0, .external_lex_state = 2}, [430] = {.lex_state = 0, .external_lex_state = 2}, [431] = {.lex_state = 0, .external_lex_state = 2}, [432] = {.lex_state = 0, .external_lex_state = 2}, [433] = {.lex_state = 0, .external_lex_state = 2}, [434] = {.lex_state = 0, .external_lex_state = 2}, [435] = {.lex_state = 0, .external_lex_state = 2}, [436] = {.lex_state = 0, .external_lex_state = 2}, [437] = {.lex_state = 0, .external_lex_state = 2}, [438] = {.lex_state = 0, .external_lex_state = 2}, [439] = {.lex_state = 0, .external_lex_state = 2}, [440] = {.lex_state = 0, .external_lex_state = 2}, [441] = {.lex_state = 0, .external_lex_state = 2}, [442] = {.lex_state = 0, .external_lex_state = 2}, [443] = {.lex_state = 0, .external_lex_state = 2}, [444] = {.lex_state = 0, .external_lex_state = 2}, [445] = {.lex_state = 0, .external_lex_state = 2}, [446] = {.lex_state = 0, .external_lex_state = 2}, [447] = {.lex_state = 0, .external_lex_state = 2}, [448] = {.lex_state = 0, .external_lex_state = 2}, [449] = {.lex_state = 0, .external_lex_state = 2}, [450] = {.lex_state = 0, .external_lex_state = 2}, [451] = {.lex_state = 0, .external_lex_state = 2}, [452] = {.lex_state = 0, .external_lex_state = 2}, [453] = {.lex_state = 0, .external_lex_state = 2}, [454] = {.lex_state = 0, .external_lex_state = 2}, [455] = {.lex_state = 0, .external_lex_state = 2}, [456] = {.lex_state = 0, .external_lex_state = 2}, [457] = {.lex_state = 0, .external_lex_state = 2}, [458] = {.lex_state = 0, .external_lex_state = 2}, [459] = {.lex_state = 0, .external_lex_state = 2}, [460] = {.lex_state = 0, .external_lex_state = 2}, [461] = {.lex_state = 0, .external_lex_state = 2}, [462] = {.lex_state = 0, .external_lex_state = 2}, [463] = {.lex_state = 0, .external_lex_state = 2}, [464] = {.lex_state = 0, .external_lex_state = 2}, [465] = {.lex_state = 0, .external_lex_state = 2}, [466] = {.lex_state = 0, .external_lex_state = 2}, [467] = {.lex_state = 0, .external_lex_state = 2}, [468] = {.lex_state = 0, .external_lex_state = 2}, [469] = {.lex_state = 0, .external_lex_state = 2}, [470] = {.lex_state = 0, .external_lex_state = 2}, [471] = {.lex_state = 0, .external_lex_state = 2}, [472] = {.lex_state = 0, .external_lex_state = 2}, [473] = {.lex_state = 0, .external_lex_state = 2}, [474] = {.lex_state = 0, .external_lex_state = 2}, [475] = {.lex_state = 0, .external_lex_state = 2}, [476] = {.lex_state = 0, .external_lex_state = 2}, [477] = {.lex_state = 0, .external_lex_state = 2}, [478] = {.lex_state = 0, .external_lex_state = 2}, [479] = {.lex_state = 0, .external_lex_state = 2}, [480] = {.lex_state = 0, .external_lex_state = 2}, [481] = {.lex_state = 0, .external_lex_state = 2}, [482] = {.lex_state = 0, .external_lex_state = 2}, [483] = {.lex_state = 0, .external_lex_state = 2}, [484] = {.lex_state = 0, .external_lex_state = 2}, [485] = {.lex_state = 0, .external_lex_state = 2}, [486] = {.lex_state = 0, .external_lex_state = 2}, [487] = {.lex_state = 0, .external_lex_state = 2}, [488] = {.lex_state = 0, .external_lex_state = 2}, [489] = {.lex_state = 0, .external_lex_state = 2}, [490] = {.lex_state = 0, .external_lex_state = 2}, [491] = {.lex_state = 0, .external_lex_state = 2}, [492] = {.lex_state = 0, .external_lex_state = 2}, [493] = {.lex_state = 0, .external_lex_state = 2}, [494] = {.lex_state = 0, .external_lex_state = 2}, [495] = {.lex_state = 0, .external_lex_state = 2}, [496] = {.lex_state = 0, .external_lex_state = 2}, [497] = {.lex_state = 0, .external_lex_state = 2}, [498] = {.lex_state = 0, .external_lex_state = 2}, [499] = {.lex_state = 0, .external_lex_state = 2}, [500] = {.lex_state = 0, .external_lex_state = 2}, [501] = {.lex_state = 0, .external_lex_state = 2}, [502] = {.lex_state = 0, .external_lex_state = 2}, [503] = {.lex_state = 0, .external_lex_state = 2}, [504] = {.lex_state = 0, .external_lex_state = 2}, [505] = {.lex_state = 0, .external_lex_state = 2}, [506] = {.lex_state = 0, .external_lex_state = 2}, [507] = {.lex_state = 0, .external_lex_state = 2}, [508] = {.lex_state = 0, .external_lex_state = 2}, [509] = {.lex_state = 0, .external_lex_state = 2}, [510] = {.lex_state = 0, .external_lex_state = 2}, [511] = {.lex_state = 0, .external_lex_state = 2}, [512] = {.lex_state = 0, .external_lex_state = 2}, [513] = {.lex_state = 0, .external_lex_state = 2}, [514] = {.lex_state = 0, .external_lex_state = 2}, [515] = {.lex_state = 0, .external_lex_state = 2}, [516] = {.lex_state = 0, .external_lex_state = 2}, [517] = {.lex_state = 0, .external_lex_state = 2}, [518] = {.lex_state = 0, .external_lex_state = 2}, [519] = {.lex_state = 0, .external_lex_state = 2}, [520] = {.lex_state = 33, .external_lex_state = 3}, [521] = {.lex_state = 0, .external_lex_state = 2}, [522] = {.lex_state = 0, .external_lex_state = 2}, [523] = {.lex_state = 0, .external_lex_state = 2}, [524] = {.lex_state = 0, .external_lex_state = 2}, [525] = {.lex_state = 0, .external_lex_state = 2}, [526] = {.lex_state = 33, .external_lex_state = 3}, [527] = {.lex_state = 0, .external_lex_state = 2}, [528] = {.lex_state = 0, .external_lex_state = 2}, [529] = {.lex_state = 0, .external_lex_state = 2}, [530] = {.lex_state = 0, .external_lex_state = 2}, [531] = {.lex_state = 0, .external_lex_state = 2}, [532] = {.lex_state = 0, .external_lex_state = 2}, [533] = {.lex_state = 0, .external_lex_state = 2}, [534] = {.lex_state = 33, .external_lex_state = 3}, [535] = {.lex_state = 31, .external_lex_state = 2}, [536] = {.lex_state = 0, .external_lex_state = 2}, [537] = {.lex_state = 33, .external_lex_state = 2}, [538] = {.lex_state = 31, .external_lex_state = 4}, [539] = {.lex_state = 0, .external_lex_state = 3}, [540] = {.lex_state = 31, .external_lex_state = 4}, [541] = {.lex_state = 0, .external_lex_state = 3}, [542] = {.lex_state = 0, .external_lex_state = 2}, [543] = {.lex_state = 0, .external_lex_state = 3}, [544] = {.lex_state = 31, .external_lex_state = 5}, [545] = {.lex_state = 0, .external_lex_state = 2}, [546] = {.lex_state = 31, .external_lex_state = 5}, [547] = {.lex_state = 31, .external_lex_state = 2}, [548] = {.lex_state = 31, .external_lex_state = 4}, [549] = {.lex_state = 31, .external_lex_state = 4}, [550] = {.lex_state = 31, .external_lex_state = 2}, [551] = {.lex_state = 0, .external_lex_state = 2}, [552] = {.lex_state = 31, .external_lex_state = 2}, [553] = {.lex_state = 0, .external_lex_state = 3}, [554] = {.lex_state = 0, .external_lex_state = 2}, [555] = {.lex_state = 0, .external_lex_state = 2}, [556] = {.lex_state = 0, .external_lex_state = 2}, [557] = {.lex_state = 0, .external_lex_state = 3}, [558] = {.lex_state = 0, .external_lex_state = 2}, [559] = {.lex_state = 0, .external_lex_state = 2}, [560] = {.lex_state = 0, .external_lex_state = 2}, [561] = {.lex_state = 31, .external_lex_state = 2}, [562] = {.lex_state = 31, .external_lex_state = 4}, [563] = {.lex_state = 33, .external_lex_state = 2}, [564] = {.lex_state = 33, .external_lex_state = 2}, [565] = {.lex_state = 31, .external_lex_state = 2}, [566] = {.lex_state = 31, .external_lex_state = 5}, [567] = {.lex_state = 0, .external_lex_state = 2}, [568] = {.lex_state = 31, .external_lex_state = 4}, [569] = {.lex_state = 0, .external_lex_state = 2}, [570] = {.lex_state = 31, .external_lex_state = 2}, [571] = {.lex_state = 31, .external_lex_state = 5}, [572] = {.lex_state = 0, .external_lex_state = 2}, [573] = {.lex_state = 0, .external_lex_state = 2}, [574] = {.lex_state = 0, .external_lex_state = 2}, [575] = {.lex_state = 0, .external_lex_state = 2}, [576] = {.lex_state = 31, .external_lex_state = 2}, [577] = {.lex_state = 0, .external_lex_state = 2}, [578] = {.lex_state = 31, .external_lex_state = 2}, [579] = {.lex_state = 0, .external_lex_state = 2}, [580] = {.lex_state = 31, .external_lex_state = 2}, [581] = {.lex_state = 31, .external_lex_state = 2}, [582] = {.lex_state = 0, .external_lex_state = 2}, [583] = {.lex_state = 0, .external_lex_state = 2}, [584] = {.lex_state = 31, .external_lex_state = 5}, [585] = {.lex_state = 0, .external_lex_state = 2}, [586] = {.lex_state = 0, .external_lex_state = 2}, [587] = {.lex_state = 0, .external_lex_state = 2}, [588] = {.lex_state = 0, .external_lex_state = 2}, [589] = {.lex_state = 0, .external_lex_state = 2}, [590] = {.lex_state = 0, .external_lex_state = 2}, [591] = {.lex_state = 0, .external_lex_state = 3}, [592] = {.lex_state = 33, .external_lex_state = 2}, [593] = {.lex_state = 31, .external_lex_state = 2}, [594] = {.lex_state = 31, .external_lex_state = 2}, [595] = {.lex_state = 0, .external_lex_state = 2}, [596] = {.lex_state = 0, .external_lex_state = 2}, [597] = {.lex_state = 0, .external_lex_state = 2}, [598] = {.lex_state = 0, .external_lex_state = 2}, [599] = {.lex_state = 0, .external_lex_state = 3}, [600] = {.lex_state = 0, .external_lex_state = 2}, [601] = {.lex_state = 31, .external_lex_state = 2}, [602] = {.lex_state = 31, .external_lex_state = 2}, [603] = {.lex_state = 31, .external_lex_state = 2}, [604] = {.lex_state = 31, .external_lex_state = 2}, [605] = {.lex_state = 0, .external_lex_state = 2}, [606] = {.lex_state = 0, .external_lex_state = 2}, [607] = {.lex_state = 0, .external_lex_state = 2}, [608] = {.lex_state = 0, .external_lex_state = 2}, [609] = {.lex_state = 31, .external_lex_state = 2}, [610] = {.lex_state = 0, .external_lex_state = 2}, [611] = {.lex_state = 0, .external_lex_state = 2}, [612] = {.lex_state = 0, .external_lex_state = 2}, [613] = {.lex_state = 0, .external_lex_state = 2}, [614] = {.lex_state = 0, .external_lex_state = 2}, [615] = {.lex_state = 0, .external_lex_state = 2}, [616] = {.lex_state = 31, .external_lex_state = 2}, [617] = {.lex_state = 0, .external_lex_state = 2}, [618] = {.lex_state = 0, .external_lex_state = 2}, [619] = {.lex_state = 31, .external_lex_state = 2}, [620] = {.lex_state = 0, .external_lex_state = 2}, [621] = {.lex_state = 31, .external_lex_state = 2}, [622] = {.lex_state = 0, .external_lex_state = 2}, [623] = {.lex_state = 31, .external_lex_state = 2}, [624] = {.lex_state = 0, .external_lex_state = 2}, [625] = {.lex_state = 31, .external_lex_state = 2}, [626] = {.lex_state = 0, .external_lex_state = 2}, [627] = {.lex_state = 0, .external_lex_state = 2}, [628] = {.lex_state = 31, .external_lex_state = 2}, [629] = {.lex_state = 0, .external_lex_state = 2}, [630] = {.lex_state = 0, .external_lex_state = 2}, [631] = {.lex_state = 31, .external_lex_state = 2}, [632] = {.lex_state = 0, .external_lex_state = 2}, [633] = {.lex_state = 0, .external_lex_state = 2}, [634] = {.lex_state = 0, .external_lex_state = 2}, [635] = {.lex_state = 0, .external_lex_state = 2}, [636] = {.lex_state = 0, .external_lex_state = 2}, [637] = {.lex_state = 0, .external_lex_state = 2}, [638] = {.lex_state = 0, .external_lex_state = 2}, [639] = {.lex_state = 0, .external_lex_state = 2}, [640] = {.lex_state = 33, .external_lex_state = 2}, [641] = {.lex_state = 0, .external_lex_state = 2}, [642] = {.lex_state = 0, .external_lex_state = 2}, [643] = {.lex_state = 0, .external_lex_state = 2}, [644] = {.lex_state = 0, .external_lex_state = 2}, [645] = {.lex_state = 0, .external_lex_state = 2}, [646] = {.lex_state = 0, .external_lex_state = 2}, [647] = {.lex_state = 0, .external_lex_state = 2}, [648] = {.lex_state = 0, .external_lex_state = 2}, [649] = {.lex_state = 0, .external_lex_state = 2}, [650] = {.lex_state = 0, .external_lex_state = 2}, [651] = {.lex_state = 0, .external_lex_state = 2}, [652] = {.lex_state = 0, .external_lex_state = 2}, [653] = {.lex_state = 0, .external_lex_state = 2}, [654] = {.lex_state = 0, .external_lex_state = 2}, [655] = {.lex_state = 0, .external_lex_state = 2}, [656] = {.lex_state = 31, .external_lex_state = 2}, [657] = {.lex_state = 0, .external_lex_state = 2}, [658] = {.lex_state = 0, .external_lex_state = 2}, [659] = {.lex_state = 0, .external_lex_state = 2}, [660] = {.lex_state = 0, .external_lex_state = 2}, [661] = {.lex_state = 0, .external_lex_state = 2}, [662] = {.lex_state = 0, .external_lex_state = 2}, [663] = {.lex_state = 0, .external_lex_state = 2}, [664] = {.lex_state = 0, .external_lex_state = 2}, [665] = {.lex_state = 0, .external_lex_state = 2}, [666] = {.lex_state = 0, .external_lex_state = 2}, [667] = {.lex_state = 0, .external_lex_state = 2}, [668] = {.lex_state = 0, .external_lex_state = 2}, [669] = {.lex_state = 0, .external_lex_state = 2}, [670] = {.lex_state = 0, .external_lex_state = 2}, [671] = {.lex_state = 0, .external_lex_state = 2}, [672] = {.lex_state = 0, .external_lex_state = 2}, [673] = {.lex_state = 0, .external_lex_state = 2}, [674] = {.lex_state = 0, .external_lex_state = 2}, [675] = {.lex_state = 0, .external_lex_state = 2}, [676] = {.lex_state = 0, .external_lex_state = 2}, [677] = {.lex_state = 0, .external_lex_state = 2}, [678] = {.lex_state = 0, .external_lex_state = 2}, [679] = {.lex_state = 0, .external_lex_state = 2}, [680] = {.lex_state = 0, .external_lex_state = 2}, [681] = {.lex_state = 0, .external_lex_state = 2}, [682] = {.lex_state = 0, .external_lex_state = 2}, [683] = {.lex_state = 0, .external_lex_state = 2}, [684] = {.lex_state = 0, .external_lex_state = 2}, [685] = {.lex_state = 0, .external_lex_state = 2}, [686] = {.lex_state = 0, .external_lex_state = 2}, [687] = {.lex_state = 0, .external_lex_state = 2}, [688] = {.lex_state = 0, .external_lex_state = 2}, [689] = {.lex_state = 0, .external_lex_state = 2}, [690] = {.lex_state = 0, .external_lex_state = 2}, [691] = {.lex_state = 0, .external_lex_state = 6}, [692] = {.lex_state = 0, .external_lex_state = 2}, [693] = {.lex_state = 0, .external_lex_state = 2}, [694] = {.lex_state = 0, .external_lex_state = 2}, [695] = {.lex_state = 0, .external_lex_state = 2}, [696] = {.lex_state = 0, .external_lex_state = 2}, [697] = {.lex_state = 0, .external_lex_state = 2}, [698] = {.lex_state = 0, .external_lex_state = 2}, [699] = {.lex_state = 31, .external_lex_state = 2}, [700] = {.lex_state = 0, .external_lex_state = 2}, [701] = {.lex_state = 0, .external_lex_state = 2}, [702] = {.lex_state = 0, .external_lex_state = 2}, [703] = {.lex_state = 0, .external_lex_state = 2}, [704] = {.lex_state = 0, .external_lex_state = 2}, [705] = {.lex_state = 0, .external_lex_state = 2}, [706] = {.lex_state = 0, .external_lex_state = 2}, [707] = {.lex_state = 0, .external_lex_state = 2}, [708] = {.lex_state = 0, .external_lex_state = 2}, [709] = {.lex_state = 0, .external_lex_state = 2}, [710] = {.lex_state = 0, .external_lex_state = 2}, [711] = {.lex_state = 0, .external_lex_state = 2}, [712] = {.lex_state = 0, .external_lex_state = 2}, [713] = {.lex_state = 0, .external_lex_state = 2}, [714] = {.lex_state = 0, .external_lex_state = 2}, [715] = {.lex_state = 0, .external_lex_state = 2}, [716] = {.lex_state = 0, .external_lex_state = 2}, [717] = {.lex_state = 0, .external_lex_state = 2}, [718] = {.lex_state = 0, .external_lex_state = 2}, [719] = {.lex_state = 0, .external_lex_state = 6}, [720] = {.lex_state = 0, .external_lex_state = 2}, [721] = {.lex_state = 0, .external_lex_state = 2}, [722] = {.lex_state = 0, .external_lex_state = 2}, [723] = {.lex_state = 0, .external_lex_state = 2}, [724] = {.lex_state = 0, .external_lex_state = 2}, [725] = {.lex_state = 0, .external_lex_state = 2}, [726] = {.lex_state = 0, .external_lex_state = 7}, [727] = {.lex_state = 0, .external_lex_state = 2}, [728] = {.lex_state = 0, .external_lex_state = 2}, [729] = {.lex_state = 0, .external_lex_state = 2}, [730] = {.lex_state = 0, .external_lex_state = 2}, [731] = {.lex_state = 0, .external_lex_state = 7}, [732] = {.lex_state = 0, .external_lex_state = 2}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [STATE(0)] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [aux_sym_program_token1] = ACTIONS(1), [anon_sym_COLON_COLON] = ACTIONS(1), [anon_sym_SEMI] = ACTIONS(1), [anon_sym_return] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [sym_break] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_then] = ACTIONS(1), [anon_sym_end] = ACTIONS(1), [anon_sym_elseif] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_for] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_while] = ACTIONS(1), [anon_sym_repeat] = ACTIONS(1), [anon_sym_until] = ACTIONS(1), [anon_sym_do] = ACTIONS(1), [anon_sym_not] = ACTIONS(1), [anon_sym_POUND] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_TILDE] = ACTIONS(1), [anon_sym_or] = ACTIONS(1), [anon_sym_and] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_EQ_EQ] = ACTIONS(1), [anon_sym_TILDE_EQ] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), [anon_sym_AMP] = ACTIONS(1), [anon_sym_LT_LT] = ACTIONS(1), [anon_sym_GT_GT] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), [anon_sym_SLASH_SLASH] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_CARET] = ACTIONS(1), [anon_sym_is] = ACTIONS(1), [anon_sym_as] = ACTIONS(1), [anon_sym_type] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), [anon_sym_local] = ACTIONS(1), [anon_sym_global] = ACTIONS(1), [anon_sym_function] = ACTIONS(1), [anon_sym_macroexp] = ACTIONS(1), [anon_sym_DOT_DOT_DOT] = ACTIONS(1), [sym_optional_marker] = ACTIONS(1), [anon_sym_record] = ACTIONS(1), [anon_sym_interface] = ACTIONS(1), [anon_sym_enum] = ACTIONS(1), [anon_sym_userdata] = ACTIONS(1), [anon_sym_metamethod] = ACTIONS(1), [anon_sym_where] = ACTIONS(1), [anon_sym_goto] = ACTIONS(1), [aux_sym_number_token1] = ACTIONS(1), [aux_sym_number_token2] = ACTIONS(1), [aux_sym_number_token3] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [anon_sym_PERCENT2] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [sym_nil] = ACTIONS(1), [sym_comment] = ACTIONS(3), [sym__long_string_start] = ACTIONS(1), [sym__long_string_char] = ACTIONS(1), [sym__long_string_end] = ACTIONS(1), [sym__short_string_start] = ACTIONS(1), [sym__short_string_char] = ACTIONS(1), [sym__short_string_end] = ACTIONS(1), }, [STATE(1)] = { [sym_program] = STATE(677), [sym__statement] = STATE(174), [sym_return_statement] = STATE(392), [sym_if_statement] = STATE(392), [sym_numeric_for_statement] = STATE(392), [sym_generic_for_statement] = STATE(392), [sym__for_statement] = STATE(392), [sym_while_statement] = STATE(392), [sym_repeat_statement] = STATE(392), [sym_do_statement] = STATE(392), [sym_parenthesized_expression] = STATE(520), [sym_var_declaration] = STATE(392), [sym_type_declaration] = STATE(392), [sym_assignment_variables] = STATE(707), [sym_var_assignment] = STATE(392), [sym__prefix_expression] = STATE(520), [sym_method_index] = STATE(539), [sym_function_call] = STATE(327), [sym_function_statement] = STATE(392), [sym_macroexp_statement] = STATE(392), [sym_interface_declaration] = STATE(372), [sym_record_declaration] = STATE(372), [sym_enum_declaration] = STATE(372), [sym_goto] = STATE(392), [sym_index] = STATE(7), [sym__var] = STATE(526), [aux_sym_program_repeat1] = STATE(174), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), [aux_sym_program_token1] = ACTIONS(9), [anon_sym_COLON_COLON] = ACTIONS(11), [anon_sym_return] = ACTIONS(13), [anon_sym_LPAREN] = ACTIONS(15), [sym_break] = ACTIONS(17), [anon_sym_if] = ACTIONS(19), [anon_sym_for] = ACTIONS(21), [anon_sym_while] = ACTIONS(23), [anon_sym_repeat] = ACTIONS(25), [anon_sym_do] = ACTIONS(27), [anon_sym_local] = ACTIONS(29), [anon_sym_global] = ACTIONS(31), [anon_sym_function] = ACTIONS(33), [anon_sym_goto] = ACTIONS(35), [sym_comment] = ACTIONS(3), }, [STATE(2)] = { [sym_arguments] = STATE(17), [sym_table_constructor] = STATE(9), [sym_string] = STATE(9), [ts_builtin_sym_end] = ACTIONS(37), [sym_identifier] = ACTIONS(39), [anon_sym_COLON_COLON] = ACTIONS(37), [anon_sym_SEMI] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_COMMA] = ACTIONS(37), [anon_sym_LPAREN] = ACTIONS(41), [anon_sym_RPAREN] = ACTIONS(37), [sym_break] = ACTIONS(39), [anon_sym_if] = ACTIONS(39), [anon_sym_then] = ACTIONS(39), [anon_sym_end] = ACTIONS(39), [anon_sym_elseif] = ACTIONS(39), [anon_sym_else] = ACTIONS(39), [anon_sym_for] = ACTIONS(39), [anon_sym_while] = ACTIONS(39), [anon_sym_repeat] = ACTIONS(39), [anon_sym_until] = ACTIONS(39), [anon_sym_do] = ACTIONS(39), [anon_sym_DASH] = ACTIONS(37), [anon_sym_TILDE] = ACTIONS(39), [anon_sym_or] = ACTIONS(39), [anon_sym_and] = ACTIONS(39), [anon_sym_LT] = ACTIONS(39), [anon_sym_LT_EQ] = ACTIONS(37), [anon_sym_EQ_EQ] = ACTIONS(37), [anon_sym_TILDE_EQ] = ACTIONS(37), [anon_sym_GT_EQ] = ACTIONS(37), [anon_sym_GT] = ACTIONS(39), [anon_sym_PIPE] = ACTIONS(37), [anon_sym_AMP] = ACTIONS(37), [anon_sym_LT_LT] = ACTIONS(37), [anon_sym_GT_GT] = ACTIONS(37), [anon_sym_PLUS] = ACTIONS(37), [anon_sym_STAR] = ACTIONS(37), [anon_sym_SLASH] = ACTIONS(39), [anon_sym_SLASH_SLASH] = ACTIONS(37), [anon_sym_PERCENT] = ACTIONS(37), [anon_sym_DOT_DOT] = ACTIONS(37), [anon_sym_CARET] = ACTIONS(37), [anon_sym_is] = ACTIONS(39), [anon_sym_as] = ACTIONS(39), [anon_sym_type] = ACTIONS(39), [anon_sym_COLON] = ACTIONS(43), [anon_sym_LBRACK] = ACTIONS(45), [anon_sym_RBRACK] = ACTIONS(37), [anon_sym_LBRACE] = ACTIONS(47), [anon_sym_RBRACE] = ACTIONS(37), [anon_sym_DOT] = ACTIONS(49), [anon_sym_local] = ACTIONS(39), [anon_sym_global] = ACTIONS(39), [anon_sym_function] = ACTIONS(39), [anon_sym_macroexp] = ACTIONS(39), [anon_sym_record] = ACTIONS(39), [anon_sym_interface] = ACTIONS(39), [anon_sym_enum] = ACTIONS(39), [anon_sym_userdata] = ACTIONS(39), [anon_sym_metamethod] = ACTIONS(39), [anon_sym_goto] = ACTIONS(39), [sym_comment] = ACTIONS(3), [sym__long_string_start] = ACTIONS(51), [sym__short_string_start] = ACTIONS(53), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(55), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(57), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [70] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, anon_sym_LT, ACTIONS(65), 1, anon_sym_DOT, STATE(47), 1, sym_typearg_params, ACTIONS(59), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(61), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [146] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(67), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(69), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [216] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(63), 1, anon_sym_LT, STATE(8), 1, sym_typearg_params, ACTIONS(71), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(73), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [290] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(75), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(77), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [360] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(79), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(81), 36, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [429] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(83), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(85), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [498] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(65), 1, anon_sym_DOT, ACTIONS(87), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(89), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [569] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(91), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(93), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [638] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(95), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(97), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [707] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(99), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(101), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [776] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(103), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(105), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [845] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(107), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(109), 36, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [914] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(111), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(113), 36, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [983] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(115), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(117), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1052] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(119), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(121), 36, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [1121] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(123), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(125), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1190] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(127), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(129), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1259] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(131), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(133), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1328] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(135), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(137), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1397] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(139), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(141), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1466] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(143), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(145), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1535] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(75), 27, sym__long_string_start, sym__short_string_start, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(77), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1604] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(147), 1, anon_sym_LT, STATE(63), 1, sym_typearg_params, ACTIONS(71), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(73), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [1676] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(149), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(151), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [1744] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(153), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(155), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [1812] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(157), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(159), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [1880] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(161), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(163), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [1948] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(165), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(167), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2016] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(169), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(171), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2084] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(173), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(175), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2152] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(177), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(179), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2220] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(181), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(183), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2288] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(185), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(187), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2356] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(189), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(191), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2424] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(193), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(195), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2492] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(197), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(199), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2560] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(201), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(203), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2628] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(205), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(207), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2696] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(107), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(109), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2764] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(209), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(211), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2832] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(213), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(215), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2900] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(217), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(219), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [2968] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(221), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(223), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [3036] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(225), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(227), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [3104] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(233), 1, anon_sym_LPAREN, ACTIONS(235), 1, anon_sym_LT, STATE(54), 1, sym_typeargs, STATE(55), 1, sym_function_type_args, ACTIONS(229), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(231), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3180] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(147), 1, anon_sym_LT, ACTIONS(237), 1, anon_sym_DOT, STATE(75), 1, sym_typearg_params, ACTIONS(59), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(61), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3254] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(239), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(241), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [3322] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(243), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(245), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [3390] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(87), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(89), 35, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_EQ, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [3458] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(237), 1, anon_sym_DOT, ACTIONS(87), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(89), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3527] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(233), 1, anon_sym_LPAREN, STATE(57), 1, sym_function_type_args, ACTIONS(247), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(249), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3598] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(255), 1, anon_sym_COLON, ACTIONS(251), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(253), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3667] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(213), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(215), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3734] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(261), 1, anon_sym_COLON, ACTIONS(257), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(259), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3803] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(267), 1, anon_sym_COMMA, ACTIONS(270), 1, anon_sym_PIPE, ACTIONS(272), 1, anon_sym_DOT_DOT_DOT, STATE(95), 1, aux_sym_type_tuple_repeat1, ACTIONS(263), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(265), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3878] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(278), 1, anon_sym_COMMA, STATE(59), 1, aux_sym_type_tuple_repeat1, ACTIONS(274), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(276), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [3949] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(149), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(151), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4016] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(153), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(155), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4083] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(111), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(113), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4150] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(79), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(81), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4217] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(181), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(183), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4284] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(119), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(121), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4351] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(197), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(199), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4418] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(205), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(207), 34, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4485] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_PIPE, ACTIONS(281), 1, anon_sym_COMMA, ACTIONS(284), 1, anon_sym_DOT_DOT_DOT, STATE(69), 1, aux_sym_type_tuple_repeat1, ACTIONS(263), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(265), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4560] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(290), 1, anon_sym_COMMA, STATE(59), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(288), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4631] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, ACTIONS(295), 1, anon_sym_LT, STATE(87), 1, sym_typeargs, STATE(91), 1, sym_function_type_args, ACTIONS(229), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(231), 31, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4706] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(185), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(187), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4772] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(87), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(89), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4838] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(161), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(163), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4904] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(217), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(219), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [4970] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(225), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(227), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5036] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(165), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(167), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5102] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(189), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(191), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5168] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(107), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(109), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5234] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(209), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(211), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5300] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(297), 1, anon_sym_COLON, ACTIONS(257), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(259), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5368] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(221), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(223), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5434] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_PIPE, ACTIONS(274), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(276), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5502] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(239), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(241), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5568] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_PIPE, ACTIONS(284), 1, anon_sym_DOT_DOT_DOT, ACTIONS(274), 23, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5638] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(243), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(245), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5704] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(157), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(159), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5770] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, STATE(80), 1, sym_function_type_args, ACTIONS(247), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(249), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5840] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(169), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(171), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5906] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(173), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(175), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [5972] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(177), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(179), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6038] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(299), 1, anon_sym_COLON, ACTIONS(251), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(253), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6106] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(301), 1, anon_sym_COMMA, STATE(92), 1, aux_sym_type_tuple_repeat1, ACTIONS(274), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6176] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(193), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(195), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6242] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(201), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(203), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6308] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(304), 1, anon_sym_COMMA, STATE(92), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(288), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6378] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_PIPE, ACTIONS(272), 1, anon_sym_DOT_DOT_DOT, ACTIONS(307), 1, anon_sym_COMMA, STATE(113), 1, aux_sym_type_tuple_repeat1, ACTIONS(263), 21, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(265), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6452] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_PIPE, ACTIONS(272), 1, anon_sym_DOT_DOT_DOT, ACTIONS(274), 23, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 33, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT_DOT, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6522] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(143), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(145), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6587] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(309), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(311), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6652] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(131), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(133), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6717] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(139), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(141), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6782] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(135), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(137), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6847] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(313), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(315), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6912] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(317), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(319), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [6977] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(123), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(125), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7042] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(321), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(323), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7107] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(325), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(327), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7172] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(329), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(331), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7237] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(333), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(335), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7302] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(337), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(339), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7367] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(341), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(343), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7432] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(127), 25, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(129), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7497] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(345), 1, anon_sym_COMMA, STATE(92), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 23, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(288), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7566] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, ACTIONS(295), 1, anon_sym_LT, STATE(117), 1, sym_function_type_args, STATE(118), 1, sym_typeargs, ACTIONS(229), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(231), 31, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7639] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(347), 1, anon_sym_PIPE, ACTIONS(274), 24, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7706] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(349), 1, anon_sym_COLON, ACTIONS(257), 23, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(259), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7772] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(351), 1, anon_sym_COLON, ACTIONS(251), 23, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(253), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7838] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, STATE(116), 1, sym_function_type_args, ACTIONS(247), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(249), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7906] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(361), 1, anon_sym_and, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(381), 1, anon_sym_is, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(353), 8, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [7997] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(385), 1, anon_sym_PIPE, ACTIONS(337), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(339), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8062] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 19, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 30, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8133] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 30, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8212] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(381), 1, anon_sym_is, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(353), 8, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 26, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_and, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8301] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 12, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 29, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8384] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 29, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8465] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 14, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 30, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8542] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 16, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 30, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8617] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(353), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 31, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8684] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 16, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 30, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8759] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(353), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 31, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8826] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(385), 1, anon_sym_PIPE, ACTIONS(353), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(355), 32, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8891] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(383), 1, anon_sym_as, ACTIONS(387), 22, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_LBRACE, ACTIONS(389), 31, anon_sym_return, sym_break, anon_sym_if, anon_sym_then, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [8958] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(391), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(97), 10, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_COLON, anon_sym_DOT, ACTIONS(393), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, ACTIONS(95), 20, sym__long_string_start, sym__short_string_start, anon_sym_COMMA, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_LBRACK, anon_sym_LBRACE, [9020] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(397), 1, sym_identifier, ACTIONS(401), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(419), 1, sym_nil, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(395), 3, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(152), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, ACTIONS(399), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_goto, [9112] = 29, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(425), 1, anon_sym_end, ACTIONS(427), 1, anon_sym_elseif, ACTIONS(429), 1, anon_sym_else, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(690), 1, sym_else_block, STATE(707), 1, sym_assignment_variables, STATE(139), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(545), 2, sym_elseif_block, aux_sym_if_statement_repeat1, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [9218] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(353), 21, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_RBRACE, ACTIONS(355), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9276] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 15, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_RBRACE, ACTIONS(355), 22, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9342] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(353), 21, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_RBRACE, ACTIONS(355), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9400] = 29, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(427), 1, anon_sym_elseif, ACTIONS(429), 1, anon_sym_else, ACTIONS(443), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(704), 1, sym_else_block, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(542), 2, sym_elseif_block, aux_sym_if_statement_repeat1, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [9506] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(347), 1, anon_sym_PIPE, ACTIONS(353), 21, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_RBRACE, ACTIONS(355), 24, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9562] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(387), 21, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_RBRACE, ACTIONS(389), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9620] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(347), 1, anon_sym_PIPE, ACTIONS(337), 21, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_RBRACE, ACTIONS(339), 24, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_is, anon_sym_as, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9676] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_RBRACE, ACTIONS(355), 21, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9750] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 12, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_RBRACE, ACTIONS(355), 22, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9820] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 18, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_DASH, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_DOT_DOT, anon_sym_RBRACE, ACTIONS(355), 22, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9882] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(453), 1, anon_sym_and, ACTIONS(459), 1, anon_sym_is, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(353), 7, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_RBRACE, ACTIONS(355), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [9964] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(459), 1, anon_sym_is, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(353), 7, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_RBRACE, ACTIONS(355), 18, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_and, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10044] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 12, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_RBRACE, ACTIONS(355), 21, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10116] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_RBRACE, ACTIONS(355), 22, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10184] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(353), 15, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_RBRACE, ACTIONS(355), 22, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_TILDE, anon_sym_or, anon_sym_and, anon_sym_LT, anon_sym_GT, anon_sym_is, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10250] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(461), 1, ts_builtin_sym_end, ACTIONS(463), 1, sym_identifier, ACTIONS(466), 1, anon_sym_COLON_COLON, ACTIONS(469), 1, anon_sym_return, ACTIONS(472), 1, anon_sym_LPAREN, ACTIONS(475), 1, sym_break, ACTIONS(478), 1, anon_sym_if, ACTIONS(483), 1, anon_sym_for, ACTIONS(486), 1, anon_sym_while, ACTIONS(489), 1, anon_sym_repeat, ACTIONS(492), 1, anon_sym_do, ACTIONS(495), 1, anon_sym_local, ACTIONS(498), 1, anon_sym_global, ACTIONS(501), 1, anon_sym_function, ACTIONS(504), 1, anon_sym_goto, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, ACTIONS(481), 4, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_until, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [10349] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(453), 1, anon_sym_and, ACTIONS(459), 1, anon_sym_is, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(513), 1, anon_sym_or, STATE(359), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(507), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(509), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10436] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(453), 1, anon_sym_and, ACTIONS(459), 1, anon_sym_is, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(513), 1, anon_sym_or, STATE(362), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(515), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(517), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10523] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(433), 1, anon_sym_as, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(453), 1, anon_sym_and, ACTIONS(459), 1, anon_sym_is, ACTIONS(513), 1, anon_sym_or, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(519), 6, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(521), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10606] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(157), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, ACTIONS(523), 3, anon_sym_end, anon_sym_elseif, anon_sym_else, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [10701] = 34, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(361), 1, anon_sym_and, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(381), 1, anon_sym_is, ACTIONS(383), 1, anon_sym_as, ACTIONS(525), 1, sym_identifier, ACTIONS(527), 1, anon_sym_end, ACTIONS(529), 1, anon_sym_or, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(535), 1, anon_sym_LBRACE, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, STATE(408), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [10814] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, ACTIONS(549), 3, anon_sym_end, anon_sym_elseif, anon_sym_else, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [10909] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(361), 1, anon_sym_and, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(381), 1, anon_sym_is, ACTIONS(383), 1, anon_sym_as, ACTIONS(529), 1, anon_sym_or, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(551), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(553), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [10990] = 34, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(361), 1, anon_sym_and, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(381), 1, anon_sym_is, ACTIONS(383), 1, anon_sym_as, ACTIONS(525), 1, sym_identifier, ACTIONS(529), 1, anon_sym_or, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(555), 1, anon_sym_end, ACTIONS(557), 1, anon_sym_LBRACE, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, STATE(410), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [11103] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(361), 1, anon_sym_and, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(381), 1, anon_sym_is, ACTIONS(383), 1, anon_sym_as, ACTIONS(529), 1, anon_sym_or, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, ACTIONS(559), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(561), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [11184] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(563), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(396), 1, sym_function_body, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(168), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11280] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(563), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(381), 1, sym_function_body, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(168), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11376] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(563), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(103), 1, sym_function_body, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(168), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11472] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(565), 1, anon_sym_until, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11565] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(567), 1, anon_sym_until, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(164), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11658] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(569), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(167), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11751] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(571), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11844] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(573), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [11937] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(575), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [12030] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(577), 1, anon_sym_LT, ACTIONS(579), 1, anon_sym_DOT, STATE(184), 1, sym_typearg_params, ACTIONS(59), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(61), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12085] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(577), 1, anon_sym_LT, STATE(181), 1, sym_typearg_params, ACTIONS(71), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(73), 26, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12138] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(581), 1, anon_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(169), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [12231] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(583), 1, ts_builtin_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(175), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [12324] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(583), 1, ts_builtin_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [12417] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, sym_identifier, ACTIONS(11), 1, anon_sym_COLON_COLON, ACTIONS(13), 1, anon_sym_return, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(17), 1, sym_break, ACTIONS(19), 1, anon_sym_if, ACTIONS(21), 1, anon_sym_for, ACTIONS(23), 1, anon_sym_while, ACTIONS(25), 1, anon_sym_repeat, ACTIONS(27), 1, anon_sym_do, ACTIONS(29), 1, anon_sym_local, ACTIONS(31), 1, anon_sym_global, ACTIONS(33), 1, anon_sym_function, ACTIONS(35), 1, anon_sym_goto, ACTIONS(585), 1, ts_builtin_sym_end, STATE(7), 1, sym_index, STATE(327), 1, sym_function_call, STATE(526), 1, sym__var, STATE(539), 1, sym_method_index, STATE(707), 1, sym_assignment_variables, STATE(151), 2, sym__statement, aux_sym_program_repeat1, STATE(520), 2, sym_parenthesized_expression, sym__prefix_expression, STATE(372), 3, sym_interface_declaration, sym_record_declaration, sym_enum_declaration, STATE(392), 14, sym_return_statement, sym_if_statement, sym_numeric_for_statement, sym_generic_for_statement, sym__for_statement, sym_while_statement, sym_repeat_statement, sym_do_statement, sym_var_declaration, sym_type_declaration, sym_var_assignment, sym_function_statement, sym_macroexp_statement, sym_goto, [12510] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(587), 1, anon_sym_LPAREN, ACTIONS(589), 1, anon_sym_LT, STATE(210), 1, sym_typeargs, STATE(213), 1, sym_function_type_args, ACTIONS(229), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(231), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12566] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(579), 1, anon_sym_DOT, ACTIONS(87), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(89), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12615] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(119), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(121), 26, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12662] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, ACTIONS(591), 1, anon_sym_LT, STATE(214), 1, sym_typeargs, STATE(226), 1, sym_function_type_args, ACTIONS(229), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(231), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12717] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(111), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(113), 26, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12764] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(79), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(81), 26, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_DOT, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12811] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(213), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(215), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12857] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(193), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(195), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12903] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(225), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(227), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [12949] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(593), 1, anon_sym_COMMA, ACTIONS(596), 1, anon_sym_PIPE, ACTIONS(598), 1, anon_sym_DOT_DOT_DOT, STATE(192), 1, aux_sym_type_tuple_repeat1, ACTIONS(263), 9, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(265), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13003] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(165), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(167), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13049] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(189), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(191), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13095] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(107), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(109), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13141] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(209), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(211), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13187] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(201), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(203), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13233] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(87), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(89), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13279] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(600), 1, anon_sym_COMMA, STATE(211), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(288), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13329] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(609), 1, anon_sym_RBRACE, ACTIONS(611), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(572), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(605), 2, anon_sym_SEMI, anon_sym_COMMA, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [13413] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(221), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(223), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13459] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(272), 1, anon_sym_DOT_DOT_DOT, ACTIONS(596), 1, anon_sym_PIPE, ACTIONS(613), 1, anon_sym_COMMA, STATE(216), 1, aux_sym_type_tuple_repeat1, ACTIONS(263), 9, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(265), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13513] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(611), 1, sym_nil, ACTIONS(618), 1, anon_sym_RBRACE, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(595), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(616), 2, anon_sym_SEMI, anon_sym_COMMA, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [13597] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(239), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(241), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13643] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(205), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(207), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13689] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(161), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(163), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13735] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(217), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(219), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13781] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(243), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(245), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13827] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(149), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(151), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13873] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(153), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(155), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13919] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(157), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(159), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [13965] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(169), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(171), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14011] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(173), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(175), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14057] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(177), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(179), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14103] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(181), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(183), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14149] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(185), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(187), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14195] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(587), 1, anon_sym_LPAREN, STATE(220), 1, sym_function_type_args, ACTIONS(247), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(249), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14245] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(620), 1, anon_sym_COMMA, STATE(211), 1, aux_sym_type_tuple_repeat1, ACTIONS(274), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(276), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14295] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(197), 13, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_GT, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(199), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14341] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(623), 1, anon_sym_COLON, ACTIONS(251), 12, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(253), 24, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14388] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, STATE(224), 1, sym_function_type_args, ACTIONS(247), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(249), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14437] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(596), 1, anon_sym_PIPE, ACTIONS(598), 1, anon_sym_DOT_DOT_DOT, ACTIONS(274), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14486] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(625), 1, anon_sym_COMMA, STATE(218), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(288), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14535] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(596), 1, anon_sym_PIPE, ACTIONS(274), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(276), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14582] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(628), 1, anon_sym_COMMA, STATE(218), 1, aux_sym_type_tuple_repeat1, ACTIONS(274), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14631] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(272), 1, anon_sym_DOT_DOT_DOT, ACTIONS(596), 1, anon_sym_PIPE, ACTIONS(274), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14680] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(631), 1, anon_sym_COLON, ACTIONS(257), 12, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT_DOT, ACTIONS(259), 24, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [14727] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(611), 1, sym_nil, ACTIONS(633), 1, anon_sym_RBRACE, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(633), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [14807] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(611), 1, sym_nil, ACTIONS(635), 1, anon_sym_RBRACE, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(633), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [14887] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(611), 1, sym_nil, ACTIONS(637), 1, anon_sym_RBRACE, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(633), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [14967] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(639), 1, anon_sym_COLON, ACTIONS(257), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(259), 24, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [15013] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(274), 10, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(276), 25, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [15059] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(643), 1, anon_sym_COLON, ACTIONS(251), 11, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, ACTIONS(253), 24, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_where, anon_sym_goto, sym_identifier, [15105] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(611), 1, sym_nil, ACTIONS(645), 1, anon_sym_RBRACE, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(633), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15185] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, ACTIONS(591), 1, anon_sym_LT, STATE(270), 1, sym_function_type_args, STATE(273), 1, sym_typeargs, ACTIONS(229), 8, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACE, ACTIONS(231), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [15236] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(603), 1, sym_identifier, ACTIONS(607), 1, anon_sym_LBRACK, ACTIONS(611), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, STATE(633), 1, sym_table_entry, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(330), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15313] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(272), 1, anon_sym_DOT_DOT_DOT, ACTIONS(596), 1, anon_sym_PIPE, ACTIONS(647), 1, anon_sym_COMMA, STATE(236), 1, aux_sym_type_tuple_repeat1, ACTIONS(263), 8, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_LBRACK, anon_sym_RBRACE, ACTIONS(265), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [15364] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(649), 1, sym_nil, STATE(7), 1, sym_index, STATE(393), 1, sym_expressions, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(153), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15438] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(397), 1, sym_identifier, ACTIONS(399), 1, anon_sym_end, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(419), 1, sym_nil, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(651), 1, anon_sym_LPAREN, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(152), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15512] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(653), 1, anon_sym_EQ, ACTIONS(655), 1, anon_sym_COLON, ACTIONS(77), 5, anon_sym_TILDE, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, ACTIONS(75), 27, sym__long_string_start, sym__short_string_start, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_DASH, anon_sym_or, anon_sym_and, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_is, anon_sym_as, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_RBRACE, [15558] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(649), 1, sym_nil, STATE(7), 1, sym_index, STATE(395), 1, sym_expressions, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(153), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15632] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(658), 1, anon_sym_RPAREN, ACTIONS(660), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(329), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15706] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(662), 1, anon_sym_COMMA, STATE(218), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 9, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACE, ACTIONS(288), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [15752] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(649), 1, sym_nil, STATE(7), 1, sym_index, STATE(374), 1, sym_expressions, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(153), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15826] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(668), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(335), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15897] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(670), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(130), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [15968] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(672), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(159), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16039] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(674), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(347), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16110] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(676), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(338), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16181] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(678), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(334), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16252] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(680), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(348), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16323] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(682), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(336), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16394] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(684), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(349), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16465] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(686), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(154), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16536] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(688), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(145), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16607] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(690), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(323), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16678] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(692), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(144), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16749] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(694), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(146), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16820] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(696), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(147), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16891] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(698), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(143), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [16962] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(700), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(148), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17033] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(702), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(149), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17104] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(704), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(150), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17175] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(706), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(136), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17246] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(708), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(132), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17317] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(710), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(138), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17388] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(712), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(158), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17459] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(714), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(345), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17530] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(716), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(324), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17601] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(718), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(325), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17672] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(720), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(331), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17743] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(722), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(332), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17814] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(724), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(333), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17885] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(726), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(160), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [17956] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(728), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(141), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18027] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(730), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(328), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18098] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(732), 1, anon_sym_COLON, ACTIONS(251), 9, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACE, ACTIONS(253), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [18141] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(734), 1, anon_sym_COLON, ACTIONS(257), 9, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACE, ACTIONS(259), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [18184] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(736), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(156), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18255] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(293), 1, anon_sym_LPAREN, STATE(271), 1, sym_function_type_args, ACTIONS(247), 8, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_EQ, anon_sym_PIPE, anon_sym_LBRACK, anon_sym_RBRACE, ACTIONS(249), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [18300] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(738), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(326), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18371] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(740), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(121), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18442] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(742), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(122), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18513] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(744), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(119), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18584] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(746), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(123), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18655] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(748), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(124), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18726] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(750), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(125), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18797] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(752), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(126), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18868] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(754), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(127), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [18939] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(756), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(128), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [19010] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(664), 1, anon_sym_not, ACTIONS(758), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(666), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(129), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [19081] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(397), 1, sym_identifier, ACTIONS(403), 1, anon_sym_not, ACTIONS(407), 1, anon_sym_LBRACE, ACTIONS(409), 1, anon_sym_function, ACTIONS(411), 1, anon_sym_DOT_DOT_DOT, ACTIONS(413), 1, aux_sym_number_token1, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, ACTIONS(760), 1, sym_nil, STATE(7), 1, sym_index, STATE(539), 1, sym_method_index, ACTIONS(415), 2, aux_sym_number_token2, aux_sym_number_token3, ACTIONS(417), 2, anon_sym_true, anon_sym_false, ACTIONS(405), 3, anon_sym_POUND, anon_sym_DASH, anon_sym_TILDE, STATE(2), 4, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, sym__var, STATE(137), 10, sym__expression, sym_unary_op, sym_bin_op, sym_type_cast, sym_table_constructor, sym_anon_function, sym_varargs, sym_number, sym_boolean, sym_string, [19152] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(391), 1, anon_sym_end, ACTIONS(97), 5, anon_sym_TILDE, anon_sym_LT, anon_sym_GT, anon_sym_SLASH, anon_sym_DOT, ACTIONS(95), 26, sym__long_string_start, sym__short_string_start, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_DASH, anon_sym_or, anon_sym_and, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, anon_sym_PIPE, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, anon_sym_DOT_DOT, anon_sym_CARET, anon_sym_is, anon_sym_as, anon_sym_COLON, anon_sym_LBRACK, anon_sym_LBRACE, [19194] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(762), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(764), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19233] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(768), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(770), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19269] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(772), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(774), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19305] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(776), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(778), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19341] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(780), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(782), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19377] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(784), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(786), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19413] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(788), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(790), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19449] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(792), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(794), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19485] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(762), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(764), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19521] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(796), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(798), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19557] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(800), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(802), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19593] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(804), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(806), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19629] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(808), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(810), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19665] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(812), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(814), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19701] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(816), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(818), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19737] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(820), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(822), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19773] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(824), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(826), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19809] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(828), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(830), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19845] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(832), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(834), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19881] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(836), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(838), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19917] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(840), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(842), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19953] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(844), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(846), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [19989] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(848), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(850), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20025] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(852), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(854), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20061] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(856), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(858), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20097] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(860), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(862), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20133] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(864), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(866), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20169] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(868), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(870), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20205] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(872), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(874), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20241] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(876), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(878), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20277] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(880), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(882), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20313] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(884), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(886), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20349] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(888), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(890), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20385] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(892), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(894), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20421] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(896), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(898), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20457] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(900), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACK, ACTIONS(902), 23, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_type, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, anon_sym_goto, sym_identifier, [20493] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(904), 1, anon_sym_do, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, STATE(379), 1, sym_do_statement, STATE(596), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20562] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(904), 1, anon_sym_do, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, STATE(373), 1, sym_do_statement, STATE(573), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20631] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(904), 1, anon_sym_do, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(914), 1, anon_sym_COMMA, STATE(382), 1, sym_do_statement, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20697] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(916), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20759] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(922), 1, anon_sym_SEMI, ACTIONS(926), 1, anon_sym_COLON, ACTIONS(918), 2, ts_builtin_sym_end, anon_sym_COLON_COLON, ACTIONS(924), 6, sym__long_string_start, sym__short_string_start, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DOT, ACTIONS(920), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [20799] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(928), 1, anon_sym_RPAREN, STATE(611), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20865] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(930), 1, anon_sym_RPAREN, STATE(638), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20931] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(932), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [20993] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(934), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21055] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(936), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21117] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(938), 1, anon_sym_RPAREN, STATE(611), 1, aux_sym_return_statement_repeat1, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21183] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(904), 1, anon_sym_do, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, STATE(394), 1, sym_do_statement, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21246] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(904), 1, anon_sym_do, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, STATE(380), 1, sym_do_statement, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21309] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, ACTIONS(948), 1, anon_sym_RBRACK, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21369] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(591), 1, anon_sym_LT, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(309), 1, sym_record_body, STATE(361), 1, sym_typeargs, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [21441] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, ACTIONS(956), 1, anon_sym_then, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21501] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(962), 1, anon_sym_COMMA, STATE(342), 1, aux_sym_var_declarators_repeat1, ACTIONS(958), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(960), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [21537] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(591), 1, anon_sym_LT, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(308), 1, sym_record_body, STATE(363), 1, sym_typeargs, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [21609] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(968), 1, anon_sym_LT, ACTIONS(964), 6, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(966), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [21643] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(962), 1, anon_sym_COMMA, STATE(350), 1, aux_sym_var_declarators_repeat1, ACTIONS(970), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(972), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [21679] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(591), 1, anon_sym_LT, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(302), 1, sym_record_body, STATE(360), 1, sym_typeargs, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [21751] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(591), 1, anon_sym_LT, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(288), 1, sym_record_body, STATE(358), 1, sym_typeargs, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [21823] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, anon_sym_CARET, ACTIONS(439), 1, anon_sym_SLASH, ACTIONS(441), 1, anon_sym_DOT_DOT, ACTIONS(445), 1, anon_sym_TILDE, ACTIONS(447), 1, anon_sym_PIPE, ACTIONS(449), 1, anon_sym_AMP, ACTIONS(906), 1, anon_sym_or, ACTIONS(908), 1, anon_sym_and, ACTIONS(910), 1, anon_sym_is, ACTIONS(912), 1, anon_sym_as, ACTIONS(974), 1, anon_sym_COMMA, ACTIONS(435), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(451), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(455), 2, anon_sym_LT, anon_sym_GT, ACTIONS(437), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(457), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [21883] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(976), 1, anon_sym_COMMA, ACTIONS(978), 1, anon_sym_end, ACTIONS(980), 1, anon_sym_LBRACE, ACTIONS(982), 1, anon_sym_where, STATE(354), 1, aux_sym_type_tuple_repeat1, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(402), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [21955] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, ACTIONS(984), 1, anon_sym_RBRACK, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [22015] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, ACTIONS(986), 1, anon_sym_RPAREN, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [22075] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(359), 1, anon_sym_TILDE, ACTIONS(367), 1, anon_sym_PIPE, ACTIONS(369), 1, anon_sym_AMP, ACTIONS(375), 1, anon_sym_SLASH, ACTIONS(377), 1, anon_sym_DOT_DOT, ACTIONS(379), 1, anon_sym_CARET, ACTIONS(940), 1, anon_sym_or, ACTIONS(942), 1, anon_sym_and, ACTIONS(944), 1, anon_sym_is, ACTIONS(946), 1, anon_sym_as, ACTIONS(988), 1, anon_sym_then, ACTIONS(357), 2, anon_sym_DASH, anon_sym_PLUS, ACTIONS(363), 2, anon_sym_LT, anon_sym_GT, ACTIONS(371), 2, anon_sym_LT_LT, anon_sym_GT_GT, ACTIONS(373), 3, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_PERCENT, ACTIONS(365), 4, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_TILDE_EQ, anon_sym_GT_EQ, [22135] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(994), 1, anon_sym_COMMA, STATE(350), 1, aux_sym_var_declarators_repeat1, ACTIONS(990), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(992), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22171] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(976), 1, anon_sym_COMMA, STATE(352), 1, aux_sym_type_tuple_repeat1, ACTIONS(997), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(999), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22209] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(976), 1, anon_sym_COMMA, STATE(218), 1, aux_sym_type_tuple_repeat1, ACTIONS(1001), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(1003), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22244] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1005), 1, anon_sym_COMMA, STATE(353), 1, aux_sym_return_statement_repeat1, ACTIONS(519), 5, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(521), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22279] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(976), 1, anon_sym_COMMA, ACTIONS(1008), 1, anon_sym_end, ACTIONS(1010), 1, anon_sym_LBRACE, ACTIONS(1012), 1, anon_sym_where, STATE(218), 1, aux_sym_type_tuple_repeat1, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(411), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [22348] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1018), 1, anon_sym_EQ, ACTIONS(1020), 1, anon_sym_COLON, STATE(364), 1, sym_type_annotation, ACTIONS(1014), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1016), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22385] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(990), 6, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(992), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22416] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1022), 6, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LPAREN, anon_sym_EQ, ACTIONS(1024), 17, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22447] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(301), 1, sym_record_body, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [22513] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(511), 1, anon_sym_COMMA, STATE(353), 1, aux_sym_return_statement_repeat1, ACTIONS(1026), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1028), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22547] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(296), 1, sym_record_body, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [22613] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(293), 1, sym_record_body, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [22679] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(511), 1, anon_sym_COMMA, STATE(353), 1, aux_sym_return_statement_repeat1, ACTIONS(1030), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1032), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22713] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(950), 1, anon_sym_end, ACTIONS(952), 1, anon_sym_is, ACTIONS(954), 1, anon_sym_LBRACE, STATE(291), 1, sym_record_body, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(409), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [22779] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1038), 1, anon_sym_EQ, ACTIONS(1034), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1036), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22810] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1040), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1042), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22838] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1044), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1046), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22866] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1048), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1050), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22894] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1052), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1054), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22922] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1056), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1058), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22950] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1060), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1062), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [22978] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1064), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1066), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23006] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(922), 1, anon_sym_SEMI, ACTIONS(918), 3, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(920), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23036] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1068), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1070), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23064] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1072), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1074), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23092] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1076), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1078), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23120] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1080), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1082), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23148] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1084), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1086), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23176] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1092), 1, anon_sym_SEMI, ACTIONS(1088), 3, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1090), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23206] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1094), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1096), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23234] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1098), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1100), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23262] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1102), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1104), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23290] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1106), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1108), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23318] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1040), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1042), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23346] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1110), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1112), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23374] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1114), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1116), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23402] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1118), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1120), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23430] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1122), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1124), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23458] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1126), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1128), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23486] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1056), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1058), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23514] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1122), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1124), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23542] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1114), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1116), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23570] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(922), 1, anon_sym_SEMI, ACTIONS(918), 3, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(920), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23600] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1130), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1132), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23628] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1134), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1136), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23656] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1138), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1140), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23684] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1142), 4, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_SEMI, anon_sym_LPAREN, ACTIONS(1144), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [23712] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1146), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(412), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [23769] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1148), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [23826] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(1150), 1, sym_identifier, ACTIONS(1153), 1, anon_sym_end, ACTIONS(1155), 1, anon_sym_type, ACTIONS(1158), 1, anon_sym_LBRACK, ACTIONS(1161), 1, anon_sym_macroexp, ACTIONS(1164), 1, anon_sym_record, ACTIONS(1167), 1, anon_sym_interface, ACTIONS(1170), 1, anon_sym_enum, ACTIONS(1173), 1, anon_sym_userdata, ACTIONS(1176), 1, anon_sym_metamethod, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [23883] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1179), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(401), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [23940] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1181), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [23997] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1183), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24054] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1185), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(404), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24111] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1187), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24168] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1189), 3, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1191), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24195] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1193), 3, ts_builtin_sym_end, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1195), 16, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_elseif, anon_sym_else, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_until, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24222] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1197), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(398), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24279] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1199), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24336] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1201), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24393] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1203), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24450] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1205), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24507] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1207), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24564] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1209), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(399), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24621] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, sym_identifier, ACTIONS(531), 1, anon_sym_type, ACTIONS(533), 1, anon_sym_LBRACK, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(539), 1, anon_sym_record, ACTIONS(541), 1, anon_sym_interface, ACTIONS(543), 1, anon_sym_enum, ACTIONS(545), 1, anon_sym_userdata, ACTIONS(547), 1, anon_sym_metamethod, ACTIONS(1211), 1, anon_sym_end, STATE(491), 1, sym__type_def, STATE(496), 1, sym__macroexp_def, STATE(503), 1, sym_metamethod_annotation, STATE(513), 1, sym__record_def, STATE(514), 1, sym__interface_def, STATE(515), 1, sym__enum_def, STATE(413), 3, sym_record_field, sym__record_entry, aux_sym_record_body_repeat1, [24678] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, ACTIONS(1221), 1, anon_sym_record, ACTIONS(1223), 1, anon_sym_interface, ACTIONS(1225), 1, anon_sym_enum, STATE(10), 1, sym_type_index, STATE(287), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, STATE(295), 4, sym_anon_interface, sym_anon_record, sym__anon_enum, sym__newtype, [24721] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1229), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1227), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24745] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1233), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1231), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24769] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1237), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1235), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24793] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1243), 1, anon_sym_COLON, ACTIONS(1241), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1239), 13, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24819] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1247), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1245), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24843] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1251), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1249), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24867] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1257), 1, anon_sym_COLON, ACTIONS(1255), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1253), 13, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24893] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1261), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1259), 14, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_COLON, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24917] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1265), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1263), 13, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24940] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1269), 2, anon_sym_COLON_COLON, anon_sym_LPAREN, ACTIONS(1267), 13, anon_sym_return, sym_break, anon_sym_if, anon_sym_end, anon_sym_for, anon_sym_while, anon_sym_repeat, anon_sym_do, anon_sym_local, anon_sym_global, anon_sym_function, anon_sym_goto, sym_identifier, [24963] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(537), 1, anon_sym_macroexp, ACTIONS(1271), 1, sym_identifier, ACTIONS(1273), 1, anon_sym_type, ACTIONS(1275), 1, anon_sym_function, ACTIONS(1277), 1, anon_sym_record, ACTIONS(1279), 1, anon_sym_interface, ACTIONS(1281), 1, anon_sym_enum, STATE(339), 1, sym_var_declarator, STATE(355), 1, sym_var_declarators, STATE(365), 1, sym__enum_def, STATE(385), 1, sym__type_def, STATE(386), 1, sym__macroexp_def, STATE(387), 1, sym__record_def, STATE(389), 1, sym__interface_def, [25009] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1285), 1, anon_sym_RPAREN, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(617), 1, sym__partype, STATE(632), 1, sym__type, STATE(679), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25049] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1291), 1, anon_sym_RPAREN, STATE(10), 1, sym_type_index, STATE(606), 1, sym__partype, STATE(632), 1, sym__type, STATE(680), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25089] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1293), 1, anon_sym_RPAREN, STATE(10), 1, sym_type_index, STATE(630), 1, sym__partype, STATE(632), 1, sym__type, STATE(698), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25129] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(697), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25166] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(727), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25203] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(716), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25240] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(683), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25277] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(702), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25314] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(675), 1, sym__annotated_var_arg, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25351] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, STATE(36), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(230), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25385] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(1271), 1, sym_identifier, ACTIONS(1273), 1, anon_sym_type, ACTIONS(1275), 1, anon_sym_function, ACTIONS(1277), 1, anon_sym_record, ACTIONS(1279), 1, anon_sym_interface, ACTIONS(1281), 1, anon_sym_enum, STATE(339), 1, sym_var_declarator, STATE(355), 1, sym_var_declarators, STATE(369), 1, sym__interface_def, STATE(383), 1, sym__enum_def, STATE(390), 1, sym__record_def, STATE(391), 1, sym__type_def, [25425] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, STATE(45), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(230), 1, sym__type, STATE(425), 1, sym_return_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25459] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, STATE(45), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(230), 1, sym__type, STATE(424), 1, sym_return_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25493] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, STATE(29), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(53), 1, sym_type_index, STATE(58), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25527] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, STATE(29), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(53), 1, sym_type_index, STATE(96), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25561] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, STATE(36), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(53), 1, sym_type_index, STATE(96), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25595] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, STATE(29), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(195), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25629] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, STATE(36), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(195), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25663] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, STATE(29), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(230), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25697] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1309), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(185), 1, sym__type, STATE(200), 1, sym_variadic_type, STATE(204), 1, sym_return_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25731] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1309), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(185), 1, sym__type, STATE(200), 1, sym_variadic_type, STATE(209), 1, sym_return_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25765] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1311), 1, anon_sym_LPAREN, STATE(53), 1, sym_type_index, STATE(68), 1, sym__type, STATE(74), 1, sym_variadic_type, STATE(86), 1, sym_return_type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25799] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1311), 1, anon_sym_LPAREN, STATE(53), 1, sym_type_index, STATE(68), 1, sym__type, STATE(71), 1, sym_return_type, STATE(74), 1, sym_variadic_type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25833] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1313), 1, anon_sym_LPAREN, ACTIONS(1315), 1, anon_sym_function, STATE(177), 1, sym_type_index, STATE(200), 1, sym_variadic_type, STATE(204), 1, sym_return_type, STATE(570), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25867] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1313), 1, anon_sym_LPAREN, ACTIONS(1315), 1, anon_sym_function, STATE(177), 1, sym_type_index, STATE(200), 1, sym_variadic_type, STATE(209), 1, sym_return_type, STATE(570), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25901] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1297), 1, anon_sym_LPAREN, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, STATE(36), 1, sym_return_type, STATE(45), 1, sym_variadic_type, STATE(53), 1, sym_type_index, STATE(58), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25935] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(692), 1, sym_variadic_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [25966] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1321), 1, anon_sym_LBRACK, ACTIONS(1319), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [25987] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1323), 1, anon_sym_LPAREN, ACTIONS(1325), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(110), 1, sym_type_tuple, STATE(142), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26018] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(50), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26049] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1329), 1, anon_sym_LBRACK, ACTIONS(1327), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [26070] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1333), 1, anon_sym_COLON, ACTIONS(1335), 1, anon_sym_LBRACK, ACTIONS(1331), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [26091] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1339), 1, anon_sym_LBRACK, ACTIONS(1337), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [26112] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1341), 1, anon_sym_LPAREN, STATE(50), 1, sym_variadic_type, STATE(53), 1, sym_type_index, STATE(97), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26143] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1341), 1, anon_sym_LPAREN, STATE(33), 1, sym_variadic_type, STATE(53), 1, sym_type_index, STATE(97), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26174] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1283), 1, sym_identifier, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(632), 1, sym__type, STATE(647), 1, sym__partype, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26205] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1345), 1, anon_sym_LBRACK, ACTIONS(1343), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [26226] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(197), 1, sym_variadic_type, STATE(215), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26257] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(206), 1, sym_variadic_type, STATE(215), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26288] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1341), 1, anon_sym_LPAREN, STATE(53), 1, sym_type_index, STATE(83), 1, sym_variadic_type, STATE(84), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26319] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1341), 1, anon_sym_LPAREN, STATE(53), 1, sym_type_index, STATE(84), 1, sym__type, STATE(89), 1, sym_variadic_type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26350] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(693), 1, sym_variadic_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26381] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(720), 1, sym_variadic_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26412] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(728), 1, sym_variadic_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26443] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(700), 1, sym_variadic_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26474] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(713), 1, sym_variadic_type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26505] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(33), 1, sym_variadic_type, STATE(177), 1, sym_type_index, STATE(219), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26536] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1323), 1, anon_sym_LPAREN, ACTIONS(1347), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(110), 1, sym_type_tuple, STATE(120), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26567] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(197), 1, sym_variadic_type, STATE(594), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26598] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(206), 1, sym_variadic_type, STATE(594), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26629] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(659), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26657] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(620), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26685] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(657), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26713] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(351), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26741] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(346), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26769] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(655), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26797] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(667), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26825] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1325), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(140), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26853] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(459), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26881] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(194), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26909] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(619), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26937] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(454), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26965] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(580), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [26993] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(463), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27021] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1351), 1, anon_sym_LBRACK, ACTIONS(1349), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [27039] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(650), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27067] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(615), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27095] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(589), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27123] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(646), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27151] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1355), 1, anon_sym_LBRACK, ACTIONS(1353), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [27169] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(651), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27197] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(593), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27225] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(664), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27253] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(567), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27281] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(575), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27309] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(576), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27337] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1359), 1, anon_sym_LBRACK, ACTIONS(1357), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [27355] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(643), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27383] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(225), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27411] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(558), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27439] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(590), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27467] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(654), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27495] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(560), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27523] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(578), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27551] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(663), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27579] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(613), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27607] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1363), 1, anon_sym_LBRACK, ACTIONS(1361), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [27625] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1367), 1, anon_sym_LBRACK, ACTIONS(1365), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [27643] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1371), 1, anon_sym_LBRACK, ACTIONS(1369), 9, anon_sym_end, anon_sym_type, anon_sym_macroexp, anon_sym_record, anon_sym_interface, anon_sym_enum, anon_sym_userdata, anon_sym_metamethod, sym_identifier, [27661] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(583), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27689] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1347), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(46), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27717] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1325), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(115), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27745] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(597), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27773] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, anon_sym_LPAREN, ACTIONS(45), 1, anon_sym_LBRACK, ACTIONS(47), 1, anon_sym_LBRACE, ACTIONS(51), 1, sym__long_string_start, ACTIONS(53), 1, sym__short_string_start, ACTIONS(1373), 1, anon_sym_COLON, ACTIONS(1375), 1, anon_sym_DOT, STATE(17), 1, sym_arguments, STATE(9), 2, sym_table_constructor, sym_string, [27805] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(587), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27833] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1287), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(46), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27861] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(658), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27889] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(46), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27917] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1347), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(131), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27945] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1377), 1, anon_sym_COMMA, ACTIONS(1379), 1, anon_sym_EQ, STATE(612), 1, aux_sym_assignment_variables_repeat1, ACTIONS(924), 7, sym__long_string_start, sym__short_string_start, anon_sym_LPAREN, anon_sym_COLON, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DOT, [27967] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1315), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(194), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [27995] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1295), 1, sym_identifier, ACTIONS(1299), 1, anon_sym_LBRACE, ACTIONS(1301), 1, anon_sym_function, ACTIONS(1317), 1, anon_sym_LPAREN, STATE(177), 1, sym_type_index, STATE(217), 1, sym__type, STATE(191), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [28023] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1341), 1, anon_sym_LPAREN, STATE(53), 1, sym_type_index, STATE(81), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [28051] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(660), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [28079] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1219), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(457), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [28107] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1303), 1, sym_identifier, ACTIONS(1305), 1, anon_sym_LBRACE, ACTIONS(1307), 1, anon_sym_function, ACTIONS(1341), 1, anon_sym_LPAREN, STATE(53), 1, sym_type_index, STATE(82), 1, sym__type, STATE(72), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [28135] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1213), 1, sym_identifier, ACTIONS(1215), 1, anon_sym_LPAREN, ACTIONS(1217), 1, anon_sym_LBRACE, ACTIONS(1325), 1, anon_sym_function, STATE(10), 1, sym_type_index, STATE(46), 1, sym__type, STATE(52), 4, sym_type_union, sym_simple_type, sym_table_type, sym_function_type, [28163] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1381), 2, anon_sym_COMMA, anon_sym_EQ, ACTIONS(924), 7, sym__long_string_start, sym__short_string_start, anon_sym_LPAREN, anon_sym_COLON, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_DOT, [28180] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(587), 1, anon_sym_LPAREN, ACTIONS(589), 1, anon_sym_LT, STATE(547), 1, sym_typeargs, STATE(552), 1, sym_function_type_args, ACTIONS(229), 4, anon_sym_COMMA, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [28202] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(15), 1, anon_sym_LPAREN, ACTIONS(1383), 1, sym_identifier, STATE(7), 1, sym_index, STATE(534), 1, sym__var, STATE(539), 1, sym_method_index, STATE(520), 3, sym_parenthesized_expression, sym__prefix_expression, sym_function_call, [28226] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1385), 1, anon_sym_LT, ACTIONS(1387), 1, anon_sym_COLON, ACTIONS(1389), 1, anon_sym_DOT, STATE(47), 1, sym_typearg_params, ACTIONS(59), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE, [28247] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(1391), 1, anon_sym_PERCENT2, ACTIONS(1395), 1, sym__short_string_char, ACTIONS(1397), 1, sym__short_string_end, STATE(548), 1, aux_sym__short_string_content_repeat1, STATE(691), 1, sym__short_string_content, ACTIONS(1393), 2, sym_format_specifier, sym_escape_sequence, [28270] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, anon_sym_LPAREN, ACTIONS(47), 1, anon_sym_LBRACE, ACTIONS(51), 1, sym__long_string_start, ACTIONS(53), 1, sym__short_string_start, STATE(17), 1, sym_arguments, STATE(9), 2, sym_table_constructor, sym_string, [28293] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(1391), 1, anon_sym_PERCENT2, ACTIONS(1395), 1, sym__short_string_char, ACTIONS(1399), 1, sym__short_string_end, STATE(548), 1, aux_sym__short_string_content_repeat1, STATE(719), 1, sym__short_string_content, ACTIONS(1393), 2, sym_format_specifier, sym_escape_sequence, [28316] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, sym__long_string_start, ACTIONS(53), 1, sym__short_string_start, ACTIONS(1401), 1, anon_sym_end, STATE(305), 1, sym_enum_body, STATE(557), 2, sym_string, aux_sym_enum_body_repeat1, [28336] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(429), 1, anon_sym_else, ACTIONS(1403), 1, anon_sym_end, ACTIONS(1405), 1, anon_sym_elseif, STATE(717), 1, sym_else_block, STATE(555), 2, sym_elseif_block, aux_sym_if_statement_repeat1, [28356] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, sym__long_string_start, ACTIONS(53), 1, sym__short_string_start, ACTIONS(1401), 1, anon_sym_end, STATE(311), 1, sym_enum_body, STATE(557), 2, sym_string, aux_sym_enum_body_repeat1, [28376] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1397), 1, sym__long_string_end, ACTIONS(1407), 1, anon_sym_PERCENT2, STATE(566), 1, aux_sym__long_string_content_repeat1, STATE(726), 1, sym__long_string_content, ACTIONS(1409), 2, sym__long_string_char, sym_format_specifier, [28396] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(429), 1, anon_sym_else, ACTIONS(1405), 1, anon_sym_elseif, ACTIONS(1411), 1, anon_sym_end, STATE(704), 1, sym_else_block, STATE(555), 2, sym_elseif_block, aux_sym_if_statement_repeat1, [28416] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1399), 1, sym__long_string_end, ACTIONS(1407), 1, anon_sym_PERCENT2, STATE(566), 1, aux_sym__long_string_content_repeat1, STATE(731), 1, sym__long_string_content, ACTIONS(1409), 2, sym__long_string_char, sym_format_specifier, [28436] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(587), 1, anon_sym_LPAREN, STATE(550), 1, sym_function_type_args, ACTIONS(247), 4, anon_sym_COMMA, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [28452] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1391), 1, anon_sym_PERCENT2, ACTIONS(1395), 1, sym__short_string_char, ACTIONS(1413), 1, sym__short_string_end, STATE(549), 1, aux_sym__short_string_content_repeat1, ACTIONS(1393), 2, sym_format_specifier, sym_escape_sequence, [28472] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1415), 1, anon_sym_PERCENT2, ACTIONS(1421), 1, sym__short_string_char, ACTIONS(1424), 1, sym__short_string_end, STATE(549), 1, aux_sym__short_string_content_repeat1, ACTIONS(1418), 2, sym_format_specifier, sym_escape_sequence, [28492] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1426), 1, anon_sym_COLON, ACTIONS(257), 4, anon_sym_COMMA, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [28505] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(591), 1, anon_sym_LT, ACTIONS(1428), 1, anon_sym_LPAREN, STATE(162), 1, sym_function_signature, STATE(422), 1, sym_signature_arguments, STATE(662), 1, sym_typeargs, [28524] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1430), 1, anon_sym_COLON, ACTIONS(251), 4, anon_sym_COMMA, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [28537] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1432), 1, anon_sym_end, ACTIONS(1434), 1, sym__long_string_start, ACTIONS(1437), 1, sym__short_string_start, STATE(553), 2, sym_string, aux_sym_enum_body_repeat1, [28554] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(591), 1, anon_sym_LT, ACTIONS(1428), 1, anon_sym_LPAREN, STATE(163), 1, sym_function_signature, STATE(422), 1, sym_signature_arguments, STATE(662), 1, sym_typeargs, [28573] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1440), 1, anon_sym_end, ACTIONS(1442), 1, anon_sym_elseif, ACTIONS(1445), 1, anon_sym_else, STATE(555), 2, sym_elseif_block, aux_sym_if_statement_repeat1, [28590] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(591), 1, anon_sym_LT, ACTIONS(1428), 1, anon_sym_LPAREN, STATE(422), 1, sym_signature_arguments, STATE(639), 1, sym_function_signature, STATE(662), 1, sym_typeargs, [28609] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, sym__long_string_start, ACTIONS(53), 1, sym__short_string_start, ACTIONS(1447), 1, anon_sym_end, STATE(553), 2, sym_string, aux_sym_enum_body_repeat1, [28626] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1449), 1, anon_sym_COMMA, ACTIONS(1451), 1, anon_sym_COLON, ACTIONS(1453), 1, anon_sym_RBRACE, STATE(627), 1, aux_sym_table_type_repeat1, [28645] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(591), 1, anon_sym_LT, ACTIONS(1428), 1, anon_sym_LPAREN, STATE(161), 1, sym_function_signature, STATE(422), 1, sym_signature_arguments, STATE(662), 1, sym_typeargs, [28664] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1449), 1, anon_sym_COMMA, ACTIONS(1455), 1, anon_sym_COLON, ACTIONS(1457), 1, anon_sym_RBRACE, STATE(605), 1, aux_sym_table_type_repeat1, [28683] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1459), 1, anon_sym_COMMA, STATE(561), 1, aux_sym_type_tuple_repeat1, ACTIONS(274), 3, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [28698] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1462), 1, anon_sym_PERCENT2, ACTIONS(1464), 4, sym__short_string_char, sym__short_string_end, sym_format_specifier, sym_escape_sequence, [28711] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1468), 1, anon_sym_DOT, STATE(563), 1, aux_sym_function_name_repeat1, ACTIONS(1466), 3, anon_sym_LPAREN, anon_sym_LT, anon_sym_COLON, [28726] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1473), 1, anon_sym_COLON, ACTIONS(1475), 1, anon_sym_DOT, STATE(563), 1, aux_sym_function_name_repeat1, ACTIONS(1471), 2, anon_sym_LPAREN, anon_sym_LT, [28743] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1477), 1, anon_sym_COMMA, STATE(561), 1, aux_sym_type_tuple_repeat1, ACTIONS(286), 3, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [28758] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1407), 1, anon_sym_PERCENT2, ACTIONS(1480), 1, sym__long_string_end, STATE(571), 1, aux_sym__long_string_content_repeat1, ACTIONS(1409), 2, sym__long_string_char, sym_format_specifier, [28775] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1449), 1, anon_sym_COMMA, ACTIONS(1482), 1, anon_sym_COLON, ACTIONS(1484), 1, anon_sym_RBRACE, STATE(641), 1, aux_sym_table_type_repeat1, [28794] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1462), 1, anon_sym_PERCENT2, ACTIONS(1464), 4, sym__short_string_char, sym__short_string_end, sym_format_specifier, sym_escape_sequence, [28807] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1486), 1, sym_identifier, ACTIONS(1488), 1, anon_sym_RPAREN, STATE(624), 1, sym__parname, STATE(682), 1, sym__annotated_var_arg, [28826] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, anon_sym_GT, ACTIONS(598), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1490), 1, anon_sym_COMMA, ACTIONS(1493), 1, anon_sym_PIPE, STATE(565), 1, aux_sym_type_tuple_repeat1, [28845] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1495), 1, anon_sym_PERCENT2, ACTIONS(1501), 1, sym__long_string_end, STATE(571), 1, aux_sym__long_string_content_repeat1, ACTIONS(1498), 2, sym__long_string_char, sym_format_specifier, [28862] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1505), 1, anon_sym_RBRACE, STATE(574), 1, aux_sym_table_constructor_repeat1, ACTIONS(1503), 2, anon_sym_SEMI, anon_sym_COMMA, [28876] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(904), 1, anon_sym_do, STATE(353), 1, aux_sym_return_statement_repeat1, STATE(377), 1, sym_do_statement, [28892] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(635), 1, anon_sym_RBRACE, STATE(577), 1, aux_sym_table_constructor_repeat1, ACTIONS(1507), 2, anon_sym_SEMI, anon_sym_COMMA, [28906] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1509), 1, anon_sym_COMMA, ACTIONS(1511), 1, anon_sym_RPAREN, STATE(598), 1, aux_sym_type_tuple_repeat1, [28922] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1493), 1, anon_sym_PIPE, ACTIONS(1513), 1, anon_sym_COMMA, ACTIONS(1515), 1, anon_sym_GT, STATE(602), 1, aux_sym_type_tuple_repeat1, [28938] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1520), 1, anon_sym_RBRACE, STATE(577), 1, aux_sym_table_constructor_repeat1, ACTIONS(1517), 2, anon_sym_SEMI, anon_sym_COMMA, [28952] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1493), 1, anon_sym_PIPE, ACTIONS(1513), 1, anon_sym_COMMA, ACTIONS(1522), 1, anon_sym_GT, STATE(609), 1, aux_sym_type_tuple_repeat1, [28968] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(633), 1, anon_sym_RBRACE, STATE(577), 1, aux_sym_table_constructor_repeat1, ACTIONS(1524), 2, anon_sym_SEMI, anon_sym_COMMA, [28982] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1493), 1, anon_sym_PIPE, ACTIONS(274), 3, anon_sym_COMMA, anon_sym_GT, anon_sym_DOT_DOT_DOT, [28994] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(107), 4, anon_sym_COMMA, anon_sym_GT, anon_sym_PIPE, anon_sym_DOT_DOT_DOT, [29004] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1526), 1, anon_sym_COMMA, ACTIONS(1528), 1, anon_sym_EQ, ACTIONS(1530), 1, anon_sym_in, STATE(614), 1, aux_sym_generic_for_statement_repeat1, [29020] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1509), 1, anon_sym_COMMA, ACTIONS(1532), 1, anon_sym_RPAREN, STATE(598), 1, aux_sym_type_tuple_repeat1, [29036] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1534), 1, anon_sym_PERCENT2, ACTIONS(1536), 3, sym__long_string_char, sym__long_string_end, sym_format_specifier, [29048] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1486), 1, sym_identifier, STATE(653), 1, sym__parname, STATE(705), 1, sym__annotated_var_arg, [29064] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1540), 1, anon_sym_COLON, ACTIONS(1542), 1, sym_optional_marker, ACTIONS(1538), 2, anon_sym_COMMA, anon_sym_RPAREN, [29078] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1532), 1, anon_sym_RPAREN, ACTIONS(1544), 1, anon_sym_COMMA, STATE(607), 1, aux_sym_type_tuple_repeat1, [29094] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1289), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1486), 1, sym_identifier, STATE(653), 1, sym__parname, STATE(721), 1, sym__annotated_var_arg, [29110] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1532), 1, anon_sym_RPAREN, ACTIONS(1546), 1, anon_sym_COMMA, STATE(642), 1, aux_sym_type_tuple_repeat1, [29126] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(976), 1, anon_sym_COMMA, ACTIONS(1548), 1, anon_sym_RPAREN, STATE(634), 1, aux_sym_type_tuple_repeat1, [29142] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1550), 4, sym__long_string_start, sym__short_string_start, anon_sym_LPAREN, anon_sym_LBRACE, [29152] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1552), 4, anon_sym_LPAREN, anon_sym_LT, anon_sym_COLON, anon_sym_DOT, [29162] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1493), 1, anon_sym_PIPE, ACTIONS(1513), 1, anon_sym_COMMA, ACTIONS(1554), 1, anon_sym_GT, STATE(631), 1, aux_sym_type_tuple_repeat1, [29178] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(598), 1, anon_sym_DOT_DOT_DOT, ACTIONS(1493), 1, anon_sym_PIPE, ACTIONS(274), 2, anon_sym_COMMA, anon_sym_GT, [29192] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1558), 1, anon_sym_RBRACE, STATE(579), 1, aux_sym_table_constructor_repeat1, ACTIONS(1556), 2, anon_sym_SEMI, anon_sym_COMMA, [29206] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(904), 1, anon_sym_do, STATE(353), 1, aux_sym_return_statement_repeat1, STATE(368), 1, sym_do_statement, [29222] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1560), 2, anon_sym_COMMA, anon_sym_RPAREN, [29233] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1562), 1, anon_sym_COMMA, ACTIONS(1564), 1, anon_sym_RPAREN, STATE(218), 1, aux_sym_type_tuple_repeat1, [29246] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(421), 1, sym__long_string_start, ACTIONS(423), 1, sym__short_string_start, STATE(709), 1, sym_string, [29259] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1566), 1, anon_sym_COMMA, ACTIONS(1568), 1, anon_sym_RPAREN, STATE(636), 1, aux_sym__partypelist_repeat1, [29272] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1570), 1, anon_sym_COMMA, ACTIONS(1572), 1, anon_sym_GT, STATE(621), 1, aux_sym_typeargs_repeat1, [29285] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1513), 1, anon_sym_COMMA, ACTIONS(1574), 1, anon_sym_GT, STATE(561), 1, aux_sym_type_tuple_repeat1, [29298] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1570), 1, anon_sym_COMMA, ACTIONS(1576), 1, anon_sym_GT, STATE(604), 1, aux_sym_typeargs_repeat1, [29311] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1570), 1, anon_sym_COMMA, ACTIONS(1578), 1, anon_sym_GT, STATE(621), 1, aux_sym_typeargs_repeat1, [29324] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1449), 1, anon_sym_COMMA, ACTIONS(1580), 1, anon_sym_RBRACE, STATE(622), 1, aux_sym_table_type_repeat1, [29337] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1584), 1, anon_sym_RPAREN, STATE(608), 1, aux_sym__partypelist_repeat1, [29350] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1586), 1, anon_sym_COMMA, ACTIONS(1588), 1, anon_sym_RPAREN, STATE(218), 1, aux_sym_type_tuple_repeat1, [29363] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1590), 1, anon_sym_COMMA, ACTIONS(1592), 1, anon_sym_RPAREN, STATE(636), 1, aux_sym__partypelist_repeat1, [29376] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1513), 1, anon_sym_COMMA, ACTIONS(1594), 1, anon_sym_GT, STATE(561), 1, aux_sym_type_tuple_repeat1, [29389] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1598), 1, anon_sym_COLON, ACTIONS(1596), 2, anon_sym_COMMA, anon_sym_RPAREN, [29400] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(1600), 1, anon_sym_RPAREN, STATE(353), 1, aux_sym_return_statement_repeat1, [29413] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1377), 1, anon_sym_COMMA, ACTIONS(1602), 1, anon_sym_EQ, STATE(637), 1, aux_sym_assignment_variables_repeat1, [29426] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1604), 2, anon_sym_COMMA, anon_sym_RPAREN, [29437] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1526), 1, anon_sym_COMMA, ACTIONS(1606), 1, anon_sym_in, STATE(635), 1, aux_sym_generic_for_statement_repeat1, [29450] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1608), 2, anon_sym_COMMA, anon_sym_RPAREN, [29461] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1570), 1, anon_sym_COMMA, ACTIONS(1610), 1, anon_sym_GT, STATE(623), 1, aux_sym_typeargs_repeat1, [29474] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1612), 1, anon_sym_COMMA, ACTIONS(1614), 1, anon_sym_RPAREN, STATE(600), 1, aux_sym__partypelist_repeat1, [29487] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1616), 1, anon_sym_COMMA, ACTIONS(1619), 1, anon_sym_RPAREN, STATE(618), 1, aux_sym__parnamelist_repeat1, [29500] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1493), 1, anon_sym_PIPE, ACTIONS(1621), 2, anon_sym_COMMA, anon_sym_GT, [29511] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1623), 2, anon_sym_COMMA, anon_sym_RBRACE, [29522] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1625), 1, anon_sym_COMMA, ACTIONS(1628), 1, anon_sym_GT, STATE(621), 1, aux_sym_typeargs_repeat1, [29535] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1630), 1, anon_sym_COMMA, ACTIONS(1633), 1, anon_sym_RBRACE, STATE(622), 1, aux_sym_table_type_repeat1, [29548] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1570), 1, anon_sym_COMMA, ACTIONS(1635), 1, anon_sym_GT, STATE(621), 1, aux_sym_typeargs_repeat1, [29561] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1637), 1, anon_sym_COMMA, ACTIONS(1639), 1, anon_sym_RPAREN, STATE(629), 1, aux_sym__parnamelist_repeat1, [29574] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1643), 1, anon_sym_is, ACTIONS(1641), 2, anon_sym_COMMA, anon_sym_GT, [29585] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1645), 1, anon_sym_COMMA, ACTIONS(1647), 1, anon_sym_RPAREN, STATE(636), 1, aux_sym__partypelist_repeat1, [29598] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1449), 1, anon_sym_COMMA, ACTIONS(1649), 1, anon_sym_RBRACE, STATE(622), 1, aux_sym_table_type_repeat1, [29611] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1570), 1, anon_sym_COMMA, ACTIONS(1651), 1, anon_sym_GT, STATE(601), 1, aux_sym_typeargs_repeat1, [29624] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1653), 1, anon_sym_COMMA, ACTIONS(1655), 1, anon_sym_RPAREN, STATE(618), 1, aux_sym__parnamelist_repeat1, [29637] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1657), 1, anon_sym_COMMA, ACTIONS(1659), 1, anon_sym_RPAREN, STATE(626), 1, aux_sym__partypelist_repeat1, [29650] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1513), 1, anon_sym_COMMA, ACTIONS(1661), 1, anon_sym_GT, STATE(561), 1, aux_sym_type_tuple_repeat1, [29663] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(641), 1, anon_sym_PIPE, ACTIONS(1663), 2, anon_sym_COMMA, anon_sym_RPAREN, [29674] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1520), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, [29683] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(976), 1, anon_sym_COMMA, ACTIONS(1665), 1, anon_sym_RPAREN, STATE(218), 1, aux_sym_type_tuple_repeat1, [29696] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1667), 1, anon_sym_COMMA, ACTIONS(1670), 1, anon_sym_in, STATE(635), 1, aux_sym_generic_for_statement_repeat1, [29709] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1672), 1, anon_sym_COMMA, ACTIONS(1675), 1, anon_sym_RPAREN, STATE(636), 1, aux_sym__partypelist_repeat1, [29722] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1677), 1, anon_sym_COMMA, ACTIONS(1680), 1, anon_sym_EQ, STATE(637), 1, aux_sym_assignment_variables_repeat1, [29735] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(511), 1, anon_sym_COMMA, ACTIONS(1682), 1, anon_sym_RPAREN, STATE(353), 1, aux_sym_return_statement_repeat1, [29748] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1684), 1, anon_sym_return, STATE(290), 1, sym_macroexp_body, STATE(723), 1, sym_return_statement, [29761] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1475), 1, anon_sym_DOT, ACTIONS(1686), 1, anon_sym_COLON, STATE(564), 1, aux_sym_function_name_repeat1, [29774] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1449), 1, anon_sym_COMMA, ACTIONS(1688), 1, anon_sym_RBRACE, STATE(622), 1, aux_sym_table_type_repeat1, [29787] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1690), 1, anon_sym_COMMA, ACTIONS(1692), 1, anon_sym_RPAREN, STATE(218), 1, aux_sym_type_tuple_repeat1, [29800] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1694), 1, anon_sym_RBRACE, [29810] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1333), 1, anon_sym_COLON, ACTIONS(1696), 1, sym_identifier, [29820] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1698), 1, sym_identifier, STATE(616), 1, sym_typearg, [29830] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1700), 1, anon_sym_RPAREN, [29840] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1702), 2, anon_sym_COMMA, anon_sym_RPAREN, [29848] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1704), 2, anon_sym_LPAREN, anon_sym_LT, [29856] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1486), 1, sym_identifier, STATE(653), 1, sym__parname, [29866] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1706), 1, anon_sym_EQ, [29876] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1708), 1, anon_sym_RPAREN, [29886] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1698), 1, sym_identifier, STATE(603), 1, sym_typearg, [29896] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1710), 2, anon_sym_COMMA, anon_sym_RPAREN, [29904] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1712), 1, anon_sym_RPAREN, [29914] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1714), 1, anon_sym_RBRACE, [29924] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1628), 2, anon_sym_COMMA, anon_sym_GT, [29932] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1716), 1, anon_sym_RBRACE, [29942] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1718), 1, anon_sym_RBRACE, [29952] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1720), 1, anon_sym_RBRACE, [29962] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1722), 1, anon_sym_RBRACE, [29972] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1698), 1, sym_identifier, STATE(656), 1, sym_typearg, [29982] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1428), 1, anon_sym_LPAREN, STATE(419), 1, sym_signature_arguments, [29992] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1724), 1, anon_sym_RBRACE, [30002] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1726), 1, anon_sym_RPAREN, [30012] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1728), 1, sym_identifier, STATE(559), 1, sym_function_name, [30022] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1730), 2, anon_sym_LPAREN, anon_sym_LT, [30030] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(766), 1, anon_sym_PIPE, ACTIONS(1732), 1, anon_sym_RBRACE, [30040] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1333), 1, anon_sym_COLON, ACTIONS(1734), 1, sym_identifier, [30050] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1670), 2, anon_sym_COMMA, anon_sym_in, [30058] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1736), 1, sym_identifier, STATE(356), 1, sym_var_declarator, [30068] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1333), 1, anon_sym_COLON, ACTIONS(1738), 1, sym_identifier, [30078] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1333), 1, anon_sym_COLON, ACTIONS(1740), 1, sym_identifier, [30088] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1333), 1, anon_sym_COLON, ACTIONS(1742), 1, sym_identifier, [30098] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1698), 1, sym_identifier, STATE(628), 1, sym_typearg, [30108] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1744), 1, anon_sym_RPAREN, [30115] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1746), 1, anon_sym_COLON, [30122] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1748), 1, ts_builtin_sym_end, [30129] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1750), 1, anon_sym_EQ, [30136] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1752), 1, anon_sym_RPAREN, [30143] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1754), 1, anon_sym_RPAREN, [30150] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1756), 1, anon_sym_COLON, [30157] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1758), 1, anon_sym_RPAREN, [30164] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1760), 1, anon_sym_RPAREN, [30171] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1762), 1, sym_identifier, [30178] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1764), 1, sym_identifier, [30185] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1766), 1, sym_identifier, [30192] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1768), 1, sym_identifier, [30199] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1505), 1, anon_sym_RBRACE, [30206] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1770), 1, anon_sym_COLON, [30213] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1411), 1, anon_sym_end, [30220] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1772), 1, sym__short_string_end, [30227] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1774), 1, anon_sym_RPAREN, [30234] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1776), 1, anon_sym_RPAREN, [30241] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1778), 1, sym_identifier, [30248] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1558), 1, anon_sym_RBRACE, [30255] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1780), 1, sym_identifier, [30262] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1782), 1, anon_sym_RPAREN, [30269] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1784), 1, anon_sym_RPAREN, [30276] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1786), 1, anon_sym_GT, [30283] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1788), 1, anon_sym_RPAREN, [30290] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1738), 1, sym_identifier, [30297] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1790), 1, anon_sym_RPAREN, [30304] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1792), 1, anon_sym_COLON, [30311] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1403), 1, anon_sym_end, [30318] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1794), 1, anon_sym_RPAREN, [30325] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1742), 1, sym_identifier, [30332] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1796), 1, anon_sym_EQ, [30339] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1798), 1, sym_identifier, [30346] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1800), 1, anon_sym_RBRACK, [30353] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1802), 1, anon_sym_COLON_COLON, [30360] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1804), 1, sym_identifier, [30367] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1806), 1, sym_identifier, [30374] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1808), 1, anon_sym_RPAREN, [30381] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1810), 1, sym_identifier, [30388] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1696), 1, sym_identifier, [30395] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1812), 1, anon_sym_RPAREN, [30402] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1814), 1, anon_sym_end, [30409] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1816), 1, sym_identifier, [30416] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1818), 1, sym__short_string_end, [30423] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1820), 1, anon_sym_RPAREN, [30430] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1822), 1, anon_sym_RPAREN, [30437] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1824), 1, sym_identifier, [30444] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1826), 1, anon_sym_end, [30451] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1828), 1, sym_identifier, [30458] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1830), 1, sym_identifier, [30465] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1772), 1, sym__long_string_end, [30472] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1832), 1, anon_sym_RPAREN, [30479] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1834), 1, anon_sym_RPAREN, [30486] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1740), 1, sym_identifier, [30493] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1836), 1, anon_sym_EQ, [30500] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1818), 1, sym__long_string_end, [30507] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1838), 1, sym_identifier, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(3)] = 0, [SMALL_STATE(4)] = 70, [SMALL_STATE(5)] = 146, [SMALL_STATE(6)] = 216, [SMALL_STATE(7)] = 290, [SMALL_STATE(8)] = 360, [SMALL_STATE(9)] = 429, [SMALL_STATE(10)] = 498, [SMALL_STATE(11)] = 569, [SMALL_STATE(12)] = 638, [SMALL_STATE(13)] = 707, [SMALL_STATE(14)] = 776, [SMALL_STATE(15)] = 845, [SMALL_STATE(16)] = 914, [SMALL_STATE(17)] = 983, [SMALL_STATE(18)] = 1052, [SMALL_STATE(19)] = 1121, [SMALL_STATE(20)] = 1190, [SMALL_STATE(21)] = 1259, [SMALL_STATE(22)] = 1328, [SMALL_STATE(23)] = 1397, [SMALL_STATE(24)] = 1466, [SMALL_STATE(25)] = 1535, [SMALL_STATE(26)] = 1604, [SMALL_STATE(27)] = 1676, [SMALL_STATE(28)] = 1744, [SMALL_STATE(29)] = 1812, [SMALL_STATE(30)] = 1880, [SMALL_STATE(31)] = 1948, [SMALL_STATE(32)] = 2016, [SMALL_STATE(33)] = 2084, [SMALL_STATE(34)] = 2152, [SMALL_STATE(35)] = 2220, [SMALL_STATE(36)] = 2288, [SMALL_STATE(37)] = 2356, [SMALL_STATE(38)] = 2424, [SMALL_STATE(39)] = 2492, [SMALL_STATE(40)] = 2560, [SMALL_STATE(41)] = 2628, [SMALL_STATE(42)] = 2696, [SMALL_STATE(43)] = 2764, [SMALL_STATE(44)] = 2832, [SMALL_STATE(45)] = 2900, [SMALL_STATE(46)] = 2968, [SMALL_STATE(47)] = 3036, [SMALL_STATE(48)] = 3104, [SMALL_STATE(49)] = 3180, [SMALL_STATE(50)] = 3254, [SMALL_STATE(51)] = 3322, [SMALL_STATE(52)] = 3390, [SMALL_STATE(53)] = 3458, [SMALL_STATE(54)] = 3527, [SMALL_STATE(55)] = 3598, [SMALL_STATE(56)] = 3667, [SMALL_STATE(57)] = 3734, [SMALL_STATE(58)] = 3803, [SMALL_STATE(59)] = 3878, [SMALL_STATE(60)] = 3949, [SMALL_STATE(61)] = 4016, [SMALL_STATE(62)] = 4083, [SMALL_STATE(63)] = 4150, [SMALL_STATE(64)] = 4217, [SMALL_STATE(65)] = 4284, [SMALL_STATE(66)] = 4351, [SMALL_STATE(67)] = 4418, [SMALL_STATE(68)] = 4485, [SMALL_STATE(69)] = 4560, [SMALL_STATE(70)] = 4631, [SMALL_STATE(71)] = 4706, [SMALL_STATE(72)] = 4772, [SMALL_STATE(73)] = 4838, [SMALL_STATE(74)] = 4904, [SMALL_STATE(75)] = 4970, [SMALL_STATE(76)] = 5036, [SMALL_STATE(77)] = 5102, [SMALL_STATE(78)] = 5168, [SMALL_STATE(79)] = 5234, [SMALL_STATE(80)] = 5300, [SMALL_STATE(81)] = 5368, [SMALL_STATE(82)] = 5434, [SMALL_STATE(83)] = 5502, [SMALL_STATE(84)] = 5568, [SMALL_STATE(85)] = 5638, [SMALL_STATE(86)] = 5704, [SMALL_STATE(87)] = 5770, [SMALL_STATE(88)] = 5840, [SMALL_STATE(89)] = 5906, [SMALL_STATE(90)] = 5972, [SMALL_STATE(91)] = 6038, [SMALL_STATE(92)] = 6106, [SMALL_STATE(93)] = 6176, [SMALL_STATE(94)] = 6242, [SMALL_STATE(95)] = 6308, [SMALL_STATE(96)] = 6378, [SMALL_STATE(97)] = 6452, [SMALL_STATE(98)] = 6522, [SMALL_STATE(99)] = 6587, [SMALL_STATE(100)] = 6652, [SMALL_STATE(101)] = 6717, [SMALL_STATE(102)] = 6782, [SMALL_STATE(103)] = 6847, [SMALL_STATE(104)] = 6912, [SMALL_STATE(105)] = 6977, [SMALL_STATE(106)] = 7042, [SMALL_STATE(107)] = 7107, [SMALL_STATE(108)] = 7172, [SMALL_STATE(109)] = 7237, [SMALL_STATE(110)] = 7302, [SMALL_STATE(111)] = 7367, [SMALL_STATE(112)] = 7432, [SMALL_STATE(113)] = 7497, [SMALL_STATE(114)] = 7566, [SMALL_STATE(115)] = 7639, [SMALL_STATE(116)] = 7706, [SMALL_STATE(117)] = 7772, [SMALL_STATE(118)] = 7838, [SMALL_STATE(119)] = 7906, [SMALL_STATE(120)] = 7997, [SMALL_STATE(121)] = 8062, [SMALL_STATE(122)] = 8133, [SMALL_STATE(123)] = 8212, [SMALL_STATE(124)] = 8301, [SMALL_STATE(125)] = 8384, [SMALL_STATE(126)] = 8465, [SMALL_STATE(127)] = 8542, [SMALL_STATE(128)] = 8617, [SMALL_STATE(129)] = 8684, [SMALL_STATE(130)] = 8759, [SMALL_STATE(131)] = 8826, [SMALL_STATE(132)] = 8891, [SMALL_STATE(133)] = 8958, [SMALL_STATE(134)] = 9020, [SMALL_STATE(135)] = 9112, [SMALL_STATE(136)] = 9218, [SMALL_STATE(137)] = 9276, [SMALL_STATE(138)] = 9342, [SMALL_STATE(139)] = 9400, [SMALL_STATE(140)] = 9506, [SMALL_STATE(141)] = 9562, [SMALL_STATE(142)] = 9620, [SMALL_STATE(143)] = 9676, [SMALL_STATE(144)] = 9750, [SMALL_STATE(145)] = 9820, [SMALL_STATE(146)] = 9882, [SMALL_STATE(147)] = 9964, [SMALL_STATE(148)] = 10044, [SMALL_STATE(149)] = 10116, [SMALL_STATE(150)] = 10184, [SMALL_STATE(151)] = 10250, [SMALL_STATE(152)] = 10349, [SMALL_STATE(153)] = 10436, [SMALL_STATE(154)] = 10523, [SMALL_STATE(155)] = 10606, [SMALL_STATE(156)] = 10701, [SMALL_STATE(157)] = 10814, [SMALL_STATE(158)] = 10909, [SMALL_STATE(159)] = 10990, [SMALL_STATE(160)] = 11103, [SMALL_STATE(161)] = 11184, [SMALL_STATE(162)] = 11280, [SMALL_STATE(163)] = 11376, [SMALL_STATE(164)] = 11472, [SMALL_STATE(165)] = 11565, [SMALL_STATE(166)] = 11658, [SMALL_STATE(167)] = 11751, [SMALL_STATE(168)] = 11844, [SMALL_STATE(169)] = 11937, [SMALL_STATE(170)] = 12030, [SMALL_STATE(171)] = 12085, [SMALL_STATE(172)] = 12138, [SMALL_STATE(173)] = 12231, [SMALL_STATE(174)] = 12324, [SMALL_STATE(175)] = 12417, [SMALL_STATE(176)] = 12510, [SMALL_STATE(177)] = 12566, [SMALL_STATE(178)] = 12615, [SMALL_STATE(179)] = 12662, [SMALL_STATE(180)] = 12717, [SMALL_STATE(181)] = 12764, [SMALL_STATE(182)] = 12811, [SMALL_STATE(183)] = 12857, [SMALL_STATE(184)] = 12903, [SMALL_STATE(185)] = 12949, [SMALL_STATE(186)] = 13003, [SMALL_STATE(187)] = 13049, [SMALL_STATE(188)] = 13095, [SMALL_STATE(189)] = 13141, [SMALL_STATE(190)] = 13187, [SMALL_STATE(191)] = 13233, [SMALL_STATE(192)] = 13279, [SMALL_STATE(193)] = 13329, [SMALL_STATE(194)] = 13413, [SMALL_STATE(195)] = 13459, [SMALL_STATE(196)] = 13513, [SMALL_STATE(197)] = 13597, [SMALL_STATE(198)] = 13643, [SMALL_STATE(199)] = 13689, [SMALL_STATE(200)] = 13735, [SMALL_STATE(201)] = 13781, [SMALL_STATE(202)] = 13827, [SMALL_STATE(203)] = 13873, [SMALL_STATE(204)] = 13919, [SMALL_STATE(205)] = 13965, [SMALL_STATE(206)] = 14011, [SMALL_STATE(207)] = 14057, [SMALL_STATE(208)] = 14103, [SMALL_STATE(209)] = 14149, [SMALL_STATE(210)] = 14195, [SMALL_STATE(211)] = 14245, [SMALL_STATE(212)] = 14295, [SMALL_STATE(213)] = 14341, [SMALL_STATE(214)] = 14388, [SMALL_STATE(215)] = 14437, [SMALL_STATE(216)] = 14486, [SMALL_STATE(217)] = 14535, [SMALL_STATE(218)] = 14582, [SMALL_STATE(219)] = 14631, [SMALL_STATE(220)] = 14680, [SMALL_STATE(221)] = 14727, [SMALL_STATE(222)] = 14807, [SMALL_STATE(223)] = 14887, [SMALL_STATE(224)] = 14967, [SMALL_STATE(225)] = 15013, [SMALL_STATE(226)] = 15059, [SMALL_STATE(227)] = 15105, [SMALL_STATE(228)] = 15185, [SMALL_STATE(229)] = 15236, [SMALL_STATE(230)] = 15313, [SMALL_STATE(231)] = 15364, [SMALL_STATE(232)] = 15438, [SMALL_STATE(233)] = 15512, [SMALL_STATE(234)] = 15558, [SMALL_STATE(235)] = 15632, [SMALL_STATE(236)] = 15706, [SMALL_STATE(237)] = 15752, [SMALL_STATE(238)] = 15826, [SMALL_STATE(239)] = 15897, [SMALL_STATE(240)] = 15968, [SMALL_STATE(241)] = 16039, [SMALL_STATE(242)] = 16110, [SMALL_STATE(243)] = 16181, [SMALL_STATE(244)] = 16252, [SMALL_STATE(245)] = 16323, [SMALL_STATE(246)] = 16394, [SMALL_STATE(247)] = 16465, [SMALL_STATE(248)] = 16536, [SMALL_STATE(249)] = 16607, [SMALL_STATE(250)] = 16678, [SMALL_STATE(251)] = 16749, [SMALL_STATE(252)] = 16820, [SMALL_STATE(253)] = 16891, [SMALL_STATE(254)] = 16962, [SMALL_STATE(255)] = 17033, [SMALL_STATE(256)] = 17104, [SMALL_STATE(257)] = 17175, [SMALL_STATE(258)] = 17246, [SMALL_STATE(259)] = 17317, [SMALL_STATE(260)] = 17388, [SMALL_STATE(261)] = 17459, [SMALL_STATE(262)] = 17530, [SMALL_STATE(263)] = 17601, [SMALL_STATE(264)] = 17672, [SMALL_STATE(265)] = 17743, [SMALL_STATE(266)] = 17814, [SMALL_STATE(267)] = 17885, [SMALL_STATE(268)] = 17956, [SMALL_STATE(269)] = 18027, [SMALL_STATE(270)] = 18098, [SMALL_STATE(271)] = 18141, [SMALL_STATE(272)] = 18184, [SMALL_STATE(273)] = 18255, [SMALL_STATE(274)] = 18300, [SMALL_STATE(275)] = 18371, [SMALL_STATE(276)] = 18442, [SMALL_STATE(277)] = 18513, [SMALL_STATE(278)] = 18584, [SMALL_STATE(279)] = 18655, [SMALL_STATE(280)] = 18726, [SMALL_STATE(281)] = 18797, [SMALL_STATE(282)] = 18868, [SMALL_STATE(283)] = 18939, [SMALL_STATE(284)] = 19010, [SMALL_STATE(285)] = 19081, [SMALL_STATE(286)] = 19152, [SMALL_STATE(287)] = 19194, [SMALL_STATE(288)] = 19233, [SMALL_STATE(289)] = 19269, [SMALL_STATE(290)] = 19305, [SMALL_STATE(291)] = 19341, [SMALL_STATE(292)] = 19377, [SMALL_STATE(293)] = 19413, [SMALL_STATE(294)] = 19449, [SMALL_STATE(295)] = 19485, [SMALL_STATE(296)] = 19521, [SMALL_STATE(297)] = 19557, [SMALL_STATE(298)] = 19593, [SMALL_STATE(299)] = 19629, [SMALL_STATE(300)] = 19665, [SMALL_STATE(301)] = 19701, [SMALL_STATE(302)] = 19737, [SMALL_STATE(303)] = 19773, [SMALL_STATE(304)] = 19809, [SMALL_STATE(305)] = 19845, [SMALL_STATE(306)] = 19881, [SMALL_STATE(307)] = 19917, [SMALL_STATE(308)] = 19953, [SMALL_STATE(309)] = 19989, [SMALL_STATE(310)] = 20025, [SMALL_STATE(311)] = 20061, [SMALL_STATE(312)] = 20097, [SMALL_STATE(313)] = 20133, [SMALL_STATE(314)] = 20169, [SMALL_STATE(315)] = 20205, [SMALL_STATE(316)] = 20241, [SMALL_STATE(317)] = 20277, [SMALL_STATE(318)] = 20313, [SMALL_STATE(319)] = 20349, [SMALL_STATE(320)] = 20385, [SMALL_STATE(321)] = 20421, [SMALL_STATE(322)] = 20457, [SMALL_STATE(323)] = 20493, [SMALL_STATE(324)] = 20562, [SMALL_STATE(325)] = 20631, [SMALL_STATE(326)] = 20697, [SMALL_STATE(327)] = 20759, [SMALL_STATE(328)] = 20799, [SMALL_STATE(329)] = 20865, [SMALL_STATE(330)] = 20931, [SMALL_STATE(331)] = 20993, [SMALL_STATE(332)] = 21055, [SMALL_STATE(333)] = 21117, [SMALL_STATE(334)] = 21183, [SMALL_STATE(335)] = 21246, [SMALL_STATE(336)] = 21309, [SMALL_STATE(337)] = 21369, [SMALL_STATE(338)] = 21441, [SMALL_STATE(339)] = 21501, [SMALL_STATE(340)] = 21537, [SMALL_STATE(341)] = 21609, [SMALL_STATE(342)] = 21643, [SMALL_STATE(343)] = 21679, [SMALL_STATE(344)] = 21751, [SMALL_STATE(345)] = 21823, [SMALL_STATE(346)] = 21883, [SMALL_STATE(347)] = 21955, [SMALL_STATE(348)] = 22015, [SMALL_STATE(349)] = 22075, [SMALL_STATE(350)] = 22135, [SMALL_STATE(351)] = 22171, [SMALL_STATE(352)] = 22209, [SMALL_STATE(353)] = 22244, [SMALL_STATE(354)] = 22279, [SMALL_STATE(355)] = 22348, [SMALL_STATE(356)] = 22385, [SMALL_STATE(357)] = 22416, [SMALL_STATE(358)] = 22447, [SMALL_STATE(359)] = 22513, [SMALL_STATE(360)] = 22547, [SMALL_STATE(361)] = 22613, [SMALL_STATE(362)] = 22679, [SMALL_STATE(363)] = 22713, [SMALL_STATE(364)] = 22779, [SMALL_STATE(365)] = 22810, [SMALL_STATE(366)] = 22838, [SMALL_STATE(367)] = 22866, [SMALL_STATE(368)] = 22894, [SMALL_STATE(369)] = 22922, [SMALL_STATE(370)] = 22950, [SMALL_STATE(371)] = 22978, [SMALL_STATE(372)] = 23006, [SMALL_STATE(373)] = 23036, [SMALL_STATE(374)] = 23064, [SMALL_STATE(375)] = 23092, [SMALL_STATE(376)] = 23120, [SMALL_STATE(377)] = 23148, [SMALL_STATE(378)] = 23176, [SMALL_STATE(379)] = 23206, [SMALL_STATE(380)] = 23234, [SMALL_STATE(381)] = 23262, [SMALL_STATE(382)] = 23290, [SMALL_STATE(383)] = 23318, [SMALL_STATE(384)] = 23346, [SMALL_STATE(385)] = 23374, [SMALL_STATE(386)] = 23402, [SMALL_STATE(387)] = 23430, [SMALL_STATE(388)] = 23458, [SMALL_STATE(389)] = 23486, [SMALL_STATE(390)] = 23514, [SMALL_STATE(391)] = 23542, [SMALL_STATE(392)] = 23570, [SMALL_STATE(393)] = 23600, [SMALL_STATE(394)] = 23628, [SMALL_STATE(395)] = 23656, [SMALL_STATE(396)] = 23684, [SMALL_STATE(397)] = 23712, [SMALL_STATE(398)] = 23769, [SMALL_STATE(399)] = 23826, [SMALL_STATE(400)] = 23883, [SMALL_STATE(401)] = 23940, [SMALL_STATE(402)] = 23997, [SMALL_STATE(403)] = 24054, [SMALL_STATE(404)] = 24111, [SMALL_STATE(405)] = 24168, [SMALL_STATE(406)] = 24195, [SMALL_STATE(407)] = 24222, [SMALL_STATE(408)] = 24279, [SMALL_STATE(409)] = 24336, [SMALL_STATE(410)] = 24393, [SMALL_STATE(411)] = 24450, [SMALL_STATE(412)] = 24507, [SMALL_STATE(413)] = 24564, [SMALL_STATE(414)] = 24621, [SMALL_STATE(415)] = 24678, [SMALL_STATE(416)] = 24721, [SMALL_STATE(417)] = 24745, [SMALL_STATE(418)] = 24769, [SMALL_STATE(419)] = 24793, [SMALL_STATE(420)] = 24819, [SMALL_STATE(421)] = 24843, [SMALL_STATE(422)] = 24867, [SMALL_STATE(423)] = 24893, [SMALL_STATE(424)] = 24917, [SMALL_STATE(425)] = 24940, [SMALL_STATE(426)] = 24963, [SMALL_STATE(427)] = 25009, [SMALL_STATE(428)] = 25049, [SMALL_STATE(429)] = 25089, [SMALL_STATE(430)] = 25129, [SMALL_STATE(431)] = 25166, [SMALL_STATE(432)] = 25203, [SMALL_STATE(433)] = 25240, [SMALL_STATE(434)] = 25277, [SMALL_STATE(435)] = 25314, [SMALL_STATE(436)] = 25351, [SMALL_STATE(437)] = 25385, [SMALL_STATE(438)] = 25425, [SMALL_STATE(439)] = 25459, [SMALL_STATE(440)] = 25493, [SMALL_STATE(441)] = 25527, [SMALL_STATE(442)] = 25561, [SMALL_STATE(443)] = 25595, [SMALL_STATE(444)] = 25629, [SMALL_STATE(445)] = 25663, [SMALL_STATE(446)] = 25697, [SMALL_STATE(447)] = 25731, [SMALL_STATE(448)] = 25765, [SMALL_STATE(449)] = 25799, [SMALL_STATE(450)] = 25833, [SMALL_STATE(451)] = 25867, [SMALL_STATE(452)] = 25901, [SMALL_STATE(453)] = 25935, [SMALL_STATE(454)] = 25966, [SMALL_STATE(455)] = 25987, [SMALL_STATE(456)] = 26018, [SMALL_STATE(457)] = 26049, [SMALL_STATE(458)] = 26070, [SMALL_STATE(459)] = 26091, [SMALL_STATE(460)] = 26112, [SMALL_STATE(461)] = 26143, [SMALL_STATE(462)] = 26174, [SMALL_STATE(463)] = 26205, [SMALL_STATE(464)] = 26226, [SMALL_STATE(465)] = 26257, [SMALL_STATE(466)] = 26288, [SMALL_STATE(467)] = 26319, [SMALL_STATE(468)] = 26350, [SMALL_STATE(469)] = 26381, [SMALL_STATE(470)] = 26412, [SMALL_STATE(471)] = 26443, [SMALL_STATE(472)] = 26474, [SMALL_STATE(473)] = 26505, [SMALL_STATE(474)] = 26536, [SMALL_STATE(475)] = 26567, [SMALL_STATE(476)] = 26598, [SMALL_STATE(477)] = 26629, [SMALL_STATE(478)] = 26657, [SMALL_STATE(479)] = 26685, [SMALL_STATE(480)] = 26713, [SMALL_STATE(481)] = 26741, [SMALL_STATE(482)] = 26769, [SMALL_STATE(483)] = 26797, [SMALL_STATE(484)] = 26825, [SMALL_STATE(485)] = 26853, [SMALL_STATE(486)] = 26881, [SMALL_STATE(487)] = 26909, [SMALL_STATE(488)] = 26937, [SMALL_STATE(489)] = 26965, [SMALL_STATE(490)] = 26993, [SMALL_STATE(491)] = 27021, [SMALL_STATE(492)] = 27039, [SMALL_STATE(493)] = 27067, [SMALL_STATE(494)] = 27095, [SMALL_STATE(495)] = 27123, [SMALL_STATE(496)] = 27151, [SMALL_STATE(497)] = 27169, [SMALL_STATE(498)] = 27197, [SMALL_STATE(499)] = 27225, [SMALL_STATE(500)] = 27253, [SMALL_STATE(501)] = 27281, [SMALL_STATE(502)] = 27309, [SMALL_STATE(503)] = 27337, [SMALL_STATE(504)] = 27355, [SMALL_STATE(505)] = 27383, [SMALL_STATE(506)] = 27411, [SMALL_STATE(507)] = 27439, [SMALL_STATE(508)] = 27467, [SMALL_STATE(509)] = 27495, [SMALL_STATE(510)] = 27523, [SMALL_STATE(511)] = 27551, [SMALL_STATE(512)] = 27579, [SMALL_STATE(513)] = 27607, [SMALL_STATE(514)] = 27625, [SMALL_STATE(515)] = 27643, [SMALL_STATE(516)] = 27661, [SMALL_STATE(517)] = 27689, [SMALL_STATE(518)] = 27717, [SMALL_STATE(519)] = 27745, [SMALL_STATE(520)] = 27773, [SMALL_STATE(521)] = 27805, [SMALL_STATE(522)] = 27833, [SMALL_STATE(523)] = 27861, [SMALL_STATE(524)] = 27889, [SMALL_STATE(525)] = 27917, [SMALL_STATE(526)] = 27945, [SMALL_STATE(527)] = 27967, [SMALL_STATE(528)] = 27995, [SMALL_STATE(529)] = 28023, [SMALL_STATE(530)] = 28051, [SMALL_STATE(531)] = 28079, [SMALL_STATE(532)] = 28107, [SMALL_STATE(533)] = 28135, [SMALL_STATE(534)] = 28163, [SMALL_STATE(535)] = 28180, [SMALL_STATE(536)] = 28202, [SMALL_STATE(537)] = 28226, [SMALL_STATE(538)] = 28247, [SMALL_STATE(539)] = 28270, [SMALL_STATE(540)] = 28293, [SMALL_STATE(541)] = 28316, [SMALL_STATE(542)] = 28336, [SMALL_STATE(543)] = 28356, [SMALL_STATE(544)] = 28376, [SMALL_STATE(545)] = 28396, [SMALL_STATE(546)] = 28416, [SMALL_STATE(547)] = 28436, [SMALL_STATE(548)] = 28452, [SMALL_STATE(549)] = 28472, [SMALL_STATE(550)] = 28492, [SMALL_STATE(551)] = 28505, [SMALL_STATE(552)] = 28524, [SMALL_STATE(553)] = 28537, [SMALL_STATE(554)] = 28554, [SMALL_STATE(555)] = 28573, [SMALL_STATE(556)] = 28590, [SMALL_STATE(557)] = 28609, [SMALL_STATE(558)] = 28626, [SMALL_STATE(559)] = 28645, [SMALL_STATE(560)] = 28664, [SMALL_STATE(561)] = 28683, [SMALL_STATE(562)] = 28698, [SMALL_STATE(563)] = 28711, [SMALL_STATE(564)] = 28726, [SMALL_STATE(565)] = 28743, [SMALL_STATE(566)] = 28758, [SMALL_STATE(567)] = 28775, [SMALL_STATE(568)] = 28794, [SMALL_STATE(569)] = 28807, [SMALL_STATE(570)] = 28826, [SMALL_STATE(571)] = 28845, [SMALL_STATE(572)] = 28862, [SMALL_STATE(573)] = 28876, [SMALL_STATE(574)] = 28892, [SMALL_STATE(575)] = 28906, [SMALL_STATE(576)] = 28922, [SMALL_STATE(577)] = 28938, [SMALL_STATE(578)] = 28952, [SMALL_STATE(579)] = 28968, [SMALL_STATE(580)] = 28982, [SMALL_STATE(581)] = 28994, [SMALL_STATE(582)] = 29004, [SMALL_STATE(583)] = 29020, [SMALL_STATE(584)] = 29036, [SMALL_STATE(585)] = 29048, [SMALL_STATE(586)] = 29064, [SMALL_STATE(587)] = 29078, [SMALL_STATE(588)] = 29094, [SMALL_STATE(589)] = 29110, [SMALL_STATE(590)] = 29126, [SMALL_STATE(591)] = 29142, [SMALL_STATE(592)] = 29152, [SMALL_STATE(593)] = 29162, [SMALL_STATE(594)] = 29178, [SMALL_STATE(595)] = 29192, [SMALL_STATE(596)] = 29206, [SMALL_STATE(597)] = 29222, [SMALL_STATE(598)] = 29233, [SMALL_STATE(599)] = 29246, [SMALL_STATE(600)] = 29259, [SMALL_STATE(601)] = 29272, [SMALL_STATE(602)] = 29285, [SMALL_STATE(603)] = 29298, [SMALL_STATE(604)] = 29311, [SMALL_STATE(605)] = 29324, [SMALL_STATE(606)] = 29337, [SMALL_STATE(607)] = 29350, [SMALL_STATE(608)] = 29363, [SMALL_STATE(609)] = 29376, [SMALL_STATE(610)] = 29389, [SMALL_STATE(611)] = 29400, [SMALL_STATE(612)] = 29413, [SMALL_STATE(613)] = 29426, [SMALL_STATE(614)] = 29437, [SMALL_STATE(615)] = 29450, [SMALL_STATE(616)] = 29461, [SMALL_STATE(617)] = 29474, [SMALL_STATE(618)] = 29487, [SMALL_STATE(619)] = 29500, [SMALL_STATE(620)] = 29511, [SMALL_STATE(621)] = 29522, [SMALL_STATE(622)] = 29535, [SMALL_STATE(623)] = 29548, [SMALL_STATE(624)] = 29561, [SMALL_STATE(625)] = 29574, [SMALL_STATE(626)] = 29585, [SMALL_STATE(627)] = 29598, [SMALL_STATE(628)] = 29611, [SMALL_STATE(629)] = 29624, [SMALL_STATE(630)] = 29637, [SMALL_STATE(631)] = 29650, [SMALL_STATE(632)] = 29663, [SMALL_STATE(633)] = 29674, [SMALL_STATE(634)] = 29683, [SMALL_STATE(635)] = 29696, [SMALL_STATE(636)] = 29709, [SMALL_STATE(637)] = 29722, [SMALL_STATE(638)] = 29735, [SMALL_STATE(639)] = 29748, [SMALL_STATE(640)] = 29761, [SMALL_STATE(641)] = 29774, [SMALL_STATE(642)] = 29787, [SMALL_STATE(643)] = 29800, [SMALL_STATE(644)] = 29810, [SMALL_STATE(645)] = 29820, [SMALL_STATE(646)] = 29830, [SMALL_STATE(647)] = 29840, [SMALL_STATE(648)] = 29848, [SMALL_STATE(649)] = 29856, [SMALL_STATE(650)] = 29866, [SMALL_STATE(651)] = 29876, [SMALL_STATE(652)] = 29886, [SMALL_STATE(653)] = 29896, [SMALL_STATE(654)] = 29904, [SMALL_STATE(655)] = 29914, [SMALL_STATE(656)] = 29924, [SMALL_STATE(657)] = 29932, [SMALL_STATE(658)] = 29942, [SMALL_STATE(659)] = 29952, [SMALL_STATE(660)] = 29962, [SMALL_STATE(661)] = 29972, [SMALL_STATE(662)] = 29982, [SMALL_STATE(663)] = 29992, [SMALL_STATE(664)] = 30002, [SMALL_STATE(665)] = 30012, [SMALL_STATE(666)] = 30022, [SMALL_STATE(667)] = 30030, [SMALL_STATE(668)] = 30040, [SMALL_STATE(669)] = 30050, [SMALL_STATE(670)] = 30058, [SMALL_STATE(671)] = 30068, [SMALL_STATE(672)] = 30078, [SMALL_STATE(673)] = 30088, [SMALL_STATE(674)] = 30098, [SMALL_STATE(675)] = 30108, [SMALL_STATE(676)] = 30115, [SMALL_STATE(677)] = 30122, [SMALL_STATE(678)] = 30129, [SMALL_STATE(679)] = 30136, [SMALL_STATE(680)] = 30143, [SMALL_STATE(681)] = 30150, [SMALL_STATE(682)] = 30157, [SMALL_STATE(683)] = 30164, [SMALL_STATE(684)] = 30171, [SMALL_STATE(685)] = 30178, [SMALL_STATE(686)] = 30185, [SMALL_STATE(687)] = 30192, [SMALL_STATE(688)] = 30199, [SMALL_STATE(689)] = 30206, [SMALL_STATE(690)] = 30213, [SMALL_STATE(691)] = 30220, [SMALL_STATE(692)] = 30227, [SMALL_STATE(693)] = 30234, [SMALL_STATE(694)] = 30241, [SMALL_STATE(695)] = 30248, [SMALL_STATE(696)] = 30255, [SMALL_STATE(697)] = 30262, [SMALL_STATE(698)] = 30269, [SMALL_STATE(699)] = 30276, [SMALL_STATE(700)] = 30283, [SMALL_STATE(701)] = 30290, [SMALL_STATE(702)] = 30297, [SMALL_STATE(703)] = 30304, [SMALL_STATE(704)] = 30311, [SMALL_STATE(705)] = 30318, [SMALL_STATE(706)] = 30325, [SMALL_STATE(707)] = 30332, [SMALL_STATE(708)] = 30339, [SMALL_STATE(709)] = 30346, [SMALL_STATE(710)] = 30353, [SMALL_STATE(711)] = 30360, [SMALL_STATE(712)] = 30367, [SMALL_STATE(713)] = 30374, [SMALL_STATE(714)] = 30381, [SMALL_STATE(715)] = 30388, [SMALL_STATE(716)] = 30395, [SMALL_STATE(717)] = 30402, [SMALL_STATE(718)] = 30409, [SMALL_STATE(719)] = 30416, [SMALL_STATE(720)] = 30423, [SMALL_STATE(721)] = 30430, [SMALL_STATE(722)] = 30437, [SMALL_STATE(723)] = 30444, [SMALL_STATE(724)] = 30451, [SMALL_STATE(725)] = 30458, [SMALL_STATE(726)] = 30465, [SMALL_STATE(727)] = 30472, [SMALL_STATE(728)] = 30479, [SMALL_STATE(729)] = 30486, [SMALL_STATE(730)] = 30493, [SMALL_STATE(731)] = 30500, [SMALL_STATE(732)] = 30507, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0, 0, 0), [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392), [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(696), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(665), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(687), [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), [39] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(708), [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(686), [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3, 0, 22), [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3, 0, 22), [59] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_simple_type, 1, 0, 2), [61] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_simple_type, 1, 0, 2), [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(498), [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(685), [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4, 0, 45), [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 4, 0, 45), [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_index, 3, 0, 0), [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_index, 3, 0, 0), [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__var, 1, 0, 0), [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__var, 1, 0, 0), [79] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_index, 4, 0, 0), [81] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_index, 4, 0, 0), [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 1, 0, 0), [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 1, 0, 0), [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 1, 0, 0), [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 1, 0, 0), [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 0), [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 0), [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 0), [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 0), [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, 0, 0), [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2, 0, 0), [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type, 3, 0, 0), [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type, 3, 0, 0), [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typearg_params, 3, 0, 0), [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typearg_params, 3, 0, 0), [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 9), [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 9), [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typearg_params, 4, 0, 0), [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typearg_params, 4, 0, 0), [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 11), [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 11), [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 2, 0, 0), [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 2, 0, 0), [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 24), [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 24), [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 3, 0, 0), [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 3, 0, 0), [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 4, 0, 0), [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 4, 0, 0), [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_constructor, 5, 0, 0), [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_constructor, 5, 0, 0), [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510), [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_args, 3, 0, 85), [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_args, 3, 0, 85), [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_args, 3, 0, 49), [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_args, 3, 0, 49), [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 4, 0, 86), [159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 4, 0, 86), [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeargs, 3, 0, 0), [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typeargs, 3, 0, 0), [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeargs, 4, 0, 0), [167] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typeargs, 4, 0, 0), [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 4, 10, 0), [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 4, 10, 0), [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 4, 1, 0), [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 4, 1, 0), [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 5, 0, 96), [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_type, 5, 0, 96), [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_args, 4, 0, 85), [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_args, 4, 0, 85), [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 5, 0, 97), [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 5, 0, 97), [189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_type, 2, 0, 0), [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variadic_type, 2, 0, 0), [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 5, 10, 0), [195] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 5, 10, 0), [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_args, 5, 0, 102), [199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_args, 5, 0, 102), [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 6, 10, 0), [203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 6, 10, 0), [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_args, 6, 0, 107), [207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_args, 6, 0, 107), [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 3, 0, 68), [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_type, 3, 0, 68), [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type_args, 2, 0, 0), [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type_args, 2, 0, 0), [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 1, 0, 0), [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 1, 0, 0), [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_union, 3, 0, 0), [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_union, 3, 0, 0), [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_simple_type, 2, 0, 2), [227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_simple_type, 2, 0, 2), [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 1, 0, 0), [231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 1, 0, 0), [233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(652), [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(725), [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 3, 1, 0), [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 3, 1, 0), [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_type, 4, 0, 83), [245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table_type, 4, 0, 83), [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 2, 0, 51), [249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 2, 0, 51), [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 2, 0, 52), [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 2, 0, 52), [255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3, 0, 70), [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 3, 0, 70), [261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(449), [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 1, 1, 0), [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 1, 1, 0), [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 1, 1, 0), SHIFT(460), [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), [278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), SHIFT_REPEAT(532), [281] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 1, 1, 0), SHIFT(466), [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 2, 1, 0), [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_type, 2, 1, 0), [290] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 2, 1, 0), SHIFT(467), [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(674), [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(452), [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(440), [301] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), SHIFT_REPEAT(518), [304] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 2, 1, 0), SHIFT(461), [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anon_function, 3, 0, 26), [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anon_function, 3, 0, 26), [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_body, 1, 0, 0), [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_body, 1, 0, 0), [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number, 1, 0, 0), [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number, 1, 0, 0), [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_varargs, 1, 0, 0), [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_varargs, 1, 0, 0), [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_tuple, 4, 0, 0), [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_tuple, 4, 0, 0), [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_body, 2, 0, 0), [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_body, 2, 0, 0), [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_cast, 3, 0, 0), [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_cast, 3, 0, 0), [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_tuple, 3, 0, 0), [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_tuple, 3, 0, 0), [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), [349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), [351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(441), [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bin_op, 3, 0, 27), [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bin_op, 3, 0, 27), [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(276), [361] = {.entry = {.count = 1, .reusable = false}}, SHIFT(278), [363] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), [375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(525), [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474), [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op, 2, 0, 13), [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op, 2, 0, 13), [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 4, 0, 0), [393] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 4, 0, 0), [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1, 0, 0), [397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1, 0, 0), [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), [403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), [409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), [417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), [419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), [425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366), [427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), [429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), [433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(455), [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(257), [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), [443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(371), [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), [453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(252), [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(253), [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), [459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), [463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(7), [466] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(722), [469] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(134), [472] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(244), [475] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(392), [478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(242), [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), [483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(696), [486] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(243), [489] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(165), [492] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(166), [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(426), [498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(437), [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(665), [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(687), [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), [513] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251), [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expressions, 1, 0, 0), [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expressions, 1, 0, 0), [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_statement_repeat1, 2, 0, 0), [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_return_statement_repeat1, 2, 0, 0), [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_block, 3, 0, 28), [525] = {.entry = {.count = 1, .reusable = false}}, SHIFT(681), [527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297), [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), [531] = {.entry = {.count = 1, .reusable = false}}, SHIFT(673), [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(718), [539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(671), [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(672), [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(644), [545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(668), [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_block, 4, 0, 28), [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 3, 0, 17), [553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 3, 0, 17), [555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312), [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 4, 0, 29), [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 4, 0, 29), [563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), [565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), [567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), [569] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), [571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(367), [573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_block, 2, 0, 0), [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), [579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(714), [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_block, 1, 0, 0), [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 2, 0, 0), [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674), [593] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 1, 1, 0), SHIFT(464), [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), [600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 2, 1, 0), SHIFT(465), [603] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), [607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(330), [613] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 1, 1, 0), SHIFT(456), [616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(695), [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), [620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), SHIFT_REPEAT(528), [623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), [625] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 2, 1, 0), SHIFT(473), [628] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), SHIFT_REPEAT(505), [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447), [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), [643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), [649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), [653] = {.entry = {.count = 1, .reusable = false}}, SHIFT(274), [655] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__var, 1, 0, 0), SHIFT(492), [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), [664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), [668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(335), [670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), [672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(347), [676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), [678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(334), [680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), [682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(336), [684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(349), [686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), [688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), [690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), [692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), [694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), [696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), [698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), [700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), [702] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), [704] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), [706] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), [708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), [710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), [712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), [714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345), [716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), [718] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), [720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), [722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), [724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), [726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), [728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(328), [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(436), [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), [744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), [752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), [756] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), [758] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), [760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_def, 4, 0, 54), [764] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__type_def, 4, 0, 54), [766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anon_record, 2, 0, 73), [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anon_record, 2, 0, 73), [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 4, 0, 91), [774] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 4, 0, 91), [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__macroexp_def, 4, 0, 56), [778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__macroexp_def, 4, 0, 56), [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_def, 4, 0, 57), [782] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_def, 4, 0, 57), [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 2, 0, 58), [786] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 2, 0, 58), [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interface_def, 4, 0, 60), [790] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interface_def, 4, 0, 60), [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_body, 2, 0, 0), [794] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_body, 2, 0, 0), [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anon_interface, 3, 0, 90), [798] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anon_interface, 3, 0, 90), [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 5, 0, 98), [802] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 5, 0, 98), [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 5, 0, 99), [806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 5, 0, 99), [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 5, 0, 101), [810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 5, 0, 101), [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 6, 0, 104), [814] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 6, 0, 104), [816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anon_record, 3, 0, 89), [818] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anon_record, 3, 0, 89), [820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anon_interface, 2, 0, 74), [822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anon_interface, 2, 0, 74), [824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 6, 0, 105), [826] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 6, 0, 105), [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 4, 0, 93), [830] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 4, 0, 93), [832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__anon_enum, 2, 0, 0), [834] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__anon_enum, 2, 0, 0), [836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macroexp_body, 2, 0, 0), [838] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macroexp_body, 2, 0, 0), [840] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 3, 0, 75), [842] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 3, 0, 75), [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_def, 3, 0, 34), [846] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_def, 3, 0, 34), [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__interface_def, 3, 0, 38), [850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__interface_def, 3, 0, 38), [852] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_body, 1, 0, 0), [854] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_body, 1, 0, 0), [856] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__enum_def, 3, 0, 39), [858] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__enum_def, 3, 0, 39), [860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 6, 0, 106), [862] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 6, 0, 106), [864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 4, 0, 92), [866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 4, 0, 92), [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 7, 0, 108), [870] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 7, 0, 108), [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 7, 0, 109), [874] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 7, 0, 109), [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 7, 0, 110), [878] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 7, 0, 110), [880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 8, 0, 111), [882] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 8, 0, 111), [884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 8, 0, 112), [886] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 8, 0, 112), [888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 9, 0, 113), [890] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 9, 0, 113), [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 9, 0, 114), [894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 9, 0, 114), [896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 10, 0, 115), [898] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 10, 0, 115), [900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_body, 1, 0, 0), [902] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_body, 1, 0, 0), [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_entry, 3, 0, 46), [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), [920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), [924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__prefix_expression, 1, 0, 0), [926] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__prefix_expression, 1, 0, 0), [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), [932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_entry, 1, 0, 14), [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_entry, 5, 0, 78), [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table_entry, 5, 0, 79), [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730), [950] = {.entry = {.count = 1, .reusable = false}}, SHIFT(322), [952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(481), [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declarators, 1, 0, 0), [960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declarators, 1, 0, 0), [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670), [964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declarator, 1, 0, 2), [966] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declarator, 1, 0, 2), [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711), [970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declarators, 2, 0, 0), [972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declarators, 2, 0, 0), [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), [978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(307), [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), [982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(272), [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), [990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_var_declarators_repeat1, 2, 0, 0), [992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_var_declarators_repeat1, 2, 0, 0), [994] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_var_declarators_repeat1, 2, 0, 0), SHIFT_REPEAT(670), [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_annotation, 2, 0, 0), [999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_annotation, 2, 0, 0), [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_annotation, 3, 0, 0), [1003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_annotation, 3, 0, 0), [1005] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(247), [1008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(289), [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), [1012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(240), [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 2, 0, 3), [1016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 2, 0, 3), [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), [1020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(480), [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declarator, 4, 0, 61), [1024] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declarator, 4, 0, 61), [1026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), [1028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expressions, 2, 0, 0), [1032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expressions, 2, 0, 0), [1034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 3, 0, 18), [1036] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 3, 0, 18), [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), [1040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 2, 0, 8), [1042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 2, 0, 8), [1044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 28), [1046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 28), [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 3, 0, 0), [1050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 3, 0, 0), [1052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_for_statement, 7, 0, 88), [1054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_for_statement, 7, 0, 88), [1056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 2, 0, 7), [1058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 2, 0, 7), [1060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_statement, 2, 0, 0), [1062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_statement, 2, 0, 0), [1064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 28), [1066] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 28), [1068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_for_statement, 5, 0, 53), [1070] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_for_statement, 5, 0, 53), [1072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_assignment, 3, 0, 20), [1074] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_assignment, 3, 0, 20), [1076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 28), [1078] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 28), [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 28), [1082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 28), [1084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_for_statement, 6, 0, 71), [1086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_for_statement, 6, 0, 71), [1088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 3, 0, 10), [1090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 3, 0, 10), [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_for_statement, 6, 0, 72), [1096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_for_statement, 6, 0, 72), [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric_for_statement, 9, 0, 103), [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_numeric_for_statement, 9, 0, 103), [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_statement, 5, 0, 55), [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_statement, 5, 0, 55), [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric_for_statement, 7, 0, 87), [1108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_numeric_for_statement, 7, 0, 87), [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 5, 0, 0), [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 5, 0, 0), [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 2, 0, 4), [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 2, 0, 4), [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macroexp_statement, 2, 0, 5), [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macroexp_statement, 2, 0, 5), [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_declaration, 2, 0, 6), [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_declaration, 2, 0, 6), [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto, 2, 0, 0), [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto, 2, 0, 0), [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 5, 0, 62), [1132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 5, 0, 62), [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 16), [1136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 16), [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_declaration, 4, 0, 40), [1140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_declaration, 4, 0, 40), [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_statement, 4, 0, 44), [1144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_statement, 4, 0, 44), [1146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), [1148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), [1150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(681), [1153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), [1155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(673), [1158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(599), [1161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(718), [1164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(671), [1167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(672), [1170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(644), [1173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(458), [1176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 2, 0, 59), SHIFT_REPEAT(668), [1179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), [1181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319), [1183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), [1185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304), [1187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), [1189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), [1191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), [1193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 4, 0, 10), [1195] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 4, 0, 10), [1197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), [1199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303), [1201] = {.entry = {.count = 1, .reusable = false}}, SHIFT(292), [1203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316), [1205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), [1207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318), [1209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), [1211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), [1213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), [1217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), [1219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), [1221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344), [1223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(343), [1225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(541), [1227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signature_arguments, 4, 0, 48), [1229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signature_arguments, 4, 0, 48), [1231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signature_arguments, 2, 0, 0), [1233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signature_arguments, 2, 0, 0), [1235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signature_arguments, 5, 0, 81), [1237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signature_arguments, 5, 0, 81), [1239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_signature, 2, 0, 25), [1241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_signature, 2, 0, 25), [1243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(438), [1245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signature_arguments, 3, 0, 48), [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signature_arguments, 3, 0, 48), [1249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signature_arguments, 3, 0, 49), [1251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signature_arguments, 3, 0, 49), [1253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_signature, 1, 0, 15), [1255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_signature, 1, 0, 15), [1257] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), [1259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_signature_arguments, 6, 0, 95), [1261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_signature_arguments, 6, 0, 95), [1263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_signature, 3, 0, 50), [1265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_signature, 3, 0, 50), [1267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_signature, 4, 0, 67), [1269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_signature, 4, 0, 67), [1271] = {.entry = {.count = 1, .reusable = false}}, SHIFT(341), [1273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(706), [1275] = {.entry = {.count = 1, .reusable = false}}, SHIFT(694), [1277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(701), [1279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729), [1281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(715), [1283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(537), [1285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), [1287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), [1289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676), [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [1295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), [1297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), [1299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), [1301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), [1303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), [1305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), [1307] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), [1309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), [1313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), [1315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(535), [1317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), [1319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_metamethod_annotation, 4, 0, 94), [1321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_metamethod_annotation, 4, 0, 94), [1323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), [1325] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), [1327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field, 5, 0, 100), [1329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 5, 0, 100), [1331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 1, 0, 30), [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), [1335] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 1, 0, 30), [1337] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field, 3, 0, 76), [1339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 76), [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), [1343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_field, 3, 0, 77), [1345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_field, 3, 0, 77), [1347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), [1349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_entry, 1, 0, 31), [1351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_entry, 1, 0, 31), [1353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_entry, 1, 0, 32), [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_entry, 1, 0, 32), [1357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_record_body_repeat1, 1, 0, 33), [1359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_body_repeat1, 1, 0, 33), [1361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_entry, 1, 0, 35), [1363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_entry, 1, 0, 35), [1365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_entry, 1, 0, 36), [1367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_entry, 1, 0, 36), [1369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__record_entry, 1, 0, 37), [1371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_entry, 1, 0, 37), [1373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686), [1377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), [1379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_variables, 1, 0, 1), [1381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_assignment_variables_repeat1, 2, 0, 23), [1383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [1385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685), [1391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(562), [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), [1407] = {.entry = {.count = 1, .reusable = false}}, SHIFT(584), [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), [1413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__short_string_content, 1, 0, 12), [1415] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__short_string_content_repeat1, 2, 0, 0), SHIFT_REPEAT(562), [1418] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__short_string_content_repeat1, 2, 0, 0), SHIFT_REPEAT(562), [1421] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__short_string_content_repeat1, 2, 0, 0), SHIFT_REPEAT(568), [1424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__short_string_content_repeat1, 2, 0, 0), [1426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), [1432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_body_repeat1, 2, 0, 0), [1434] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_body_repeat1, 2, 0, 0), SHIFT_REPEAT(544), [1437] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_body_repeat1, 2, 0, 0), SHIFT_REPEAT(538), [1440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), [1442] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(246), [1445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), [1447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), [1451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), [1453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [1455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [1459] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_tuple_repeat1, 2, 0, 0), SHIFT_REPEAT(489), [1462] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__short_string_content_repeat1, 1, 0, 0), [1464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__short_string_content_repeat1, 1, 0, 0), [1466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_name_repeat1, 2, 0, 43), [1468] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_name_repeat1, 2, 0, 43), SHIFT_REPEAT(732), [1471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_name, 2, 0, 19), [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(732), [1477] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 2, 1, 0), SHIFT(476), [1480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__long_string_content, 1, 0, 12), [1482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), [1484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), [1486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), [1488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), [1490] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_return_type, 1, 1, 0), SHIFT(475), [1493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), [1495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__long_string_content_repeat1, 2, 0, 0), SHIFT_REPEAT(584), [1498] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__long_string_content_repeat1, 2, 0, 0), SHIFT_REPEAT(584), [1501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__long_string_content_repeat1, 2, 0, 0), [1503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), [1511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), [1517] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_constructor_repeat1, 2, 0, 0), SHIFT_REPEAT(229), [1520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_constructor_repeat1, 2, 0, 0), [1522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), [1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), [1526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724), [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [1534] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__long_string_content_repeat1, 1, 0, 0), [1536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__long_string_content_repeat1, 1, 0, 0), [1538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parname, 1, 0, 2), [1540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), [1544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), [1546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), [1550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_index, 3, 0, 21), [1552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_name_repeat1, 2, 0, 42), [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), [1558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), [1560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__partype, 3, 0, 65), [1562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661), [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), [1574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [1596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parname, 2, 0, 47), [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), [1602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_variables, 2, 0, 1), [1604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parname, 4, 0, 80), [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), [1608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parname, 3, 0, 65), [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), [1616] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parnamelist_repeat1, 2, 0, 0), SHIFT_REPEAT(649), [1619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parnamelist_repeat1, 2, 0, 0), [1621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typearg, 3, 0, 66), [1623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2, 0, 82), [1625] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_typeargs_repeat1, 2, 0, 0), SHIFT_REPEAT(661), [1628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_typeargs_repeat1, 2, 0, 0), [1630] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2, 0, 84), SHIFT_REPEAT(478), [1633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_table_type_repeat1, 2, 0, 84), [1635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), [1637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), [1639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), [1641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typearg, 1, 0, 2), [1643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), [1645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), [1647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [1649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), [1651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [1653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), [1655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), [1657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), [1659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [1661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [1663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__partype, 1, 0, 69), [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), [1667] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_for_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(724), [1670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_for_statement_repeat1, 2, 0, 0), [1672] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__partypelist_repeat1, 2, 0, 0), SHIFT_REPEAT(462), [1675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__partypelist_repeat1, 2, 0, 0), [1677] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_assignment_variables_repeat1, 2, 0, 0), SHIFT_REPEAT(536), [1680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_assignment_variables_repeat1, 2, 0, 0), [1682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(684), [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), [1692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [1694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), [1696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), [1698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), [1700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [1702] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__partypelist_repeat1, 2, 0, 85), [1704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_name, 4, 0, 63), [1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [1708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__annotated_var_arg, 3, 0, 64), [1710] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parnamelist_repeat1, 2, 0, 48), [1712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), [1714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), [1716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), [1720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), [1722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), [1728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), [1730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_name, 3, 0, 41), [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), [1742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), [1744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [1746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), [1748] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), [1760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), [1764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [1766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [1768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), [1770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [1774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), [1776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), [1778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), [1780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), [1790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), [1798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), [1800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689), [1802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), [1804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699), [1806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(648), [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), [1810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), [1812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), [1818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), [1820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), [1822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669), [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), }; enum ts_external_scanner_symbol_identifiers { ts_external_token_comment = 0, ts_external_token__long_string_start = 1, ts_external_token__long_string_char = 2, ts_external_token__long_string_end = 3, ts_external_token__short_string_start = 4, ts_external_token__short_string_char = 5, ts_external_token__short_string_end = 6, }; static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { [ts_external_token_comment] = sym_comment, [ts_external_token__long_string_start] = sym__long_string_start, [ts_external_token__long_string_char] = sym__long_string_char, [ts_external_token__long_string_end] = sym__long_string_end, [ts_external_token__short_string_start] = sym__short_string_start, [ts_external_token__short_string_char] = sym__short_string_char, [ts_external_token__short_string_end] = sym__short_string_end, }; static const bool ts_external_scanner_states[8][EXTERNAL_TOKEN_COUNT] = { [1] = { [ts_external_token_comment] = true, [ts_external_token__long_string_start] = true, [ts_external_token__long_string_char] = true, [ts_external_token__long_string_end] = true, [ts_external_token__short_string_start] = true, [ts_external_token__short_string_char] = true, [ts_external_token__short_string_end] = true, }, [2] = { [ts_external_token_comment] = true, }, [3] = { [ts_external_token_comment] = true, [ts_external_token__long_string_start] = true, [ts_external_token__short_string_start] = true, }, [4] = { [ts_external_token_comment] = true, [ts_external_token__short_string_char] = true, [ts_external_token__short_string_end] = true, }, [5] = { [ts_external_token_comment] = true, [ts_external_token__long_string_char] = true, [ts_external_token__long_string_end] = true, }, [6] = { [ts_external_token_comment] = true, [ts_external_token__short_string_end] = true, }, [7] = { [ts_external_token_comment] = true, [ts_external_token__long_string_end] = true, }, }; #ifdef __cplusplus extern "C" { #endif void *tree_sitter_teal_external_scanner_create(void); void tree_sitter_teal_external_scanner_destroy(void *); bool tree_sitter_teal_external_scanner_scan(void *, TSLexer *, const bool *); unsigned tree_sitter_teal_external_scanner_serialize(void *, char *); void tree_sitter_teal_external_scanner_deserialize(void *, const char *, unsigned); #ifdef TREE_SITTER_HIDE_SYMBOLS #define TS_PUBLIC #elif defined(_WIN32) #define TS_PUBLIC __declspec(dllexport) #else #define TS_PUBLIC __attribute__((visibility("default"))) #endif TS_PUBLIC const TSLanguage *tree_sitter_teal(void) { static const TSLanguage language = { .abi_version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .supertype_count = SUPERTYPE_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .field_names = ts_field_names, .field_map_slices = ts_field_map_slices, .field_map_entries = ts_field_map_entries, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = (const void*)ts_lex_modes, .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, .external_scanner = { &ts_external_scanner_states[0][0], ts_external_scanner_symbol_map, tree_sitter_teal_external_scanner_create, tree_sitter_teal_external_scanner_destroy, tree_sitter_teal_external_scanner_scan, tree_sitter_teal_external_scanner_serialize, tree_sitter_teal_external_scanner_deserialize, }, .primary_state_ids = ts_primary_state_ids, .name = "teal", .max_reserved_word_set_size = 0, .metadata = { .major_version = 0, .minor_version = 0, .patch_version = 4, }, }; return &language; } #ifdef __cplusplus } #endif