diff --git a/Luau/binding/binding.go b/Luau/binding/binding.go new file mode 100644 index 0000000..de83395 --- /dev/null +++ b/Luau/binding/binding.go @@ -0,0 +1,15 @@ +package luau + +//#include "tree_sitter/parser.h" +//TSLanguage *tree_sitter_luau(); +import "C" +import ( + "unsafe" + + sitter "github.com/smacker/go-tree-sitter" +) + +func GetLuau() *sitter.Language { + ptr := unsafe.Pointer(C.tree_sitter_luau()) + return sitter.NewLanguage(ptr) +} diff --git a/Luau/binding/parser.c b/Luau/binding/parser.c new file mode 100644 index 0000000..586814a --- /dev/null +++ b/Luau/binding/parser.c @@ -0,0 +1,27977 @@ +#include + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#define LANGUAGE_VERSION 14 +#define STATE_COUNT 718 +#define LARGE_STATE_COUNT 2 +#define SYMBOL_COUNT 190 +#define ALIAS_COUNT 2 +#define TOKEN_COUNT 80 +#define EXTERNAL_TOKEN_COUNT 11 +#define FIELD_COUNT 24 +#define MAX_ALIAS_SEQUENCE_LENGTH 11 +#define PRODUCTION_ID_COUNT 65 + +enum { + sym_name = 1, + anon_sym_SEMI = 2, + anon_sym_return = 3, + anon_sym_local = 4, + anon_sym_function = 5, + anon_sym_DOT = 6, + anon_sym_COLON = 7, + anon_sym_for = 8, + anon_sym_in = 9, + anon_sym_do = 10, + anon_sym_end = 11, + anon_sym_EQ = 12, + anon_sym_COMMA = 13, + anon_sym_if = 14, + anon_sym_then = 15, + anon_sym_elseif = 16, + anon_sym_else = 17, + anon_sym_repeat = 18, + anon_sym_until = 19, + anon_sym_while = 20, + sym_break_stmt = 21, + sym_continue_stmt = 22, + anon_sym_export = 23, + anon_sym_ = 24, + anon_sym_type = 25, + anon_sym_LT = 26, + anon_sym_GT = 27, + anon_sym_PLUS_EQ = 28, + anon_sym_DASH_EQ = 29, + anon_sym_STAR_EQ = 30, + anon_sym_SLASH_EQ = 31, + anon_sym_PERCENT_EQ = 32, + anon_sym_CARET_EQ = 33, + anon_sym_DOT_DOT_EQ = 34, + anon_sym_SLASH_SLASH_EQ = 35, + anon_sym_or = 36, + anon_sym_and = 37, + anon_sym_EQ_EQ = 38, + anon_sym_TILDE_EQ = 39, + anon_sym_LT_EQ = 40, + anon_sym_GT_EQ = 41, + anon_sym_PLUS = 42, + anon_sym_DASH = 43, + anon_sym_STAR = 44, + anon_sym_SLASH = 45, + anon_sym_SLASH_SLASH = 46, + anon_sym_PERCENT = 47, + anon_sym_DOT_DOT = 48, + anon_sym_CARET = 49, + anon_sym_COLON_COLON = 50, + anon_sym_not = 51, + anon_sym_POUND = 52, + anon_sym_LBRACE = 53, + anon_sym_RBRACE = 54, + anon_sym_LBRACK = 55, + anon_sym_RBRACK = 56, + anon_sym_LPAREN = 57, + anon_sym_RPAREN = 58, + anon_sym_DOT_DOT_DOT = 59, + anon_sym_typeof = 60, + anon_sym_DASH_GT = 61, + anon_sym_AMP = 62, + anon_sym_PIPE = 63, + anon_sym_QMARK = 64, + sym_number = 65, + anon_sym_true = 66, + anon_sym_false = 67, + sym_nil = 68, + sym__comment_start = 69, + sym__comment_content = 70, + sym__comment_end = 71, + sym__string_start = 72, + sym__string_content = 73, + sym__string_end = 74, + sym_interp_start = 75, + sym_interp_content = 76, + sym_interp_brace_open = 77, + sym_interp_brace_close = 78, + sym_interp_end = 79, + sym_chunk = 80, + sym_block = 81, + sym__block = 82, + sym_ret_stmt = 83, + sym_statement = 84, + sym_local_fn_stmt = 85, + sym_fn_stmt = 86, + sym__tbl_fn_member = 87, + sym__tbl_fn_field = 88, + sym_for_in_stmt = 89, + sym_for_range_stmt = 90, + sym_if_stmt = 91, + sym_elseif_clause = 92, + sym_else_clause = 93, + sym_repeat_stmt = 94, + sym_while_stmt = 95, + sym_do_stmt = 96, + sym_local_var_stmt = 97, + sym_var_stmt = 98, + sym_assign_stmt = 99, + sym__varlist = 100, + sym_type_stmt = 101, + sym_genericdef = 102, + sym__type_stmt_genlist = 103, + sym_genpackdef = 104, + sym__type_stmt_packlist = 105, + sym__assign = 106, + sym_exp = 107, + sym__explist = 108, + sym_binexp = 109, + sym_cast = 110, + sym_unexp = 111, + sym_ifexp = 112, + sym__ifexp_elseif = 113, + sym_table = 114, + sym_fieldlist = 115, + sym_field = 116, + sym_prefixexp = 117, + sym__prefixexp = 118, + sym_exp_wrap = 119, + sym_call_stmt = 120, + sym__tbl_method = 121, + sym__method_name = 122, + sym_arglist = 123, + sym_binding = 124, + sym__bindinglist = 125, + sym_var = 126, + sym__tbl_var = 127, + sym__field_named = 128, + sym__field_indexed = 129, + sym_anon_fn = 130, + sym__fn_body = 131, + sym__paramlist = 132, + sym__param_vararg = 133, + sym_type = 134, + sym_singleton = 135, + sym_namedtype = 136, + sym__typelist = 137, + sym__typelist_vrd = 138, + sym_wraptype = 139, + sym_typeparam = 140, + sym__typeparamlist = 141, + sym_typepack = 142, + sym__typepack_wrap = 143, + sym__typepack_vrd = 144, + sym__typepack_gen = 145, + sym_variadic = 146, + sym_dyntype = 147, + sym_fntype = 148, + sym__fntype_gen = 149, + sym__fntype_wrap = 150, + sym__fntype_param = 151, + sym__fntype_paramlist = 152, + sym__fntype_paramlist_vrd = 153, + sym_tbtype = 154, + sym__tbtype_content = 155, + sym__tbtype_array = 156, + sym__tbtype_kv = 157, + sym__tbtype_kvlist = 158, + sym__tbtype_index = 159, + sym__tbtype_prop = 160, + sym_bintype = 161, + sym_untype = 162, + sym_generic = 163, + sym__genlist = 164, + sym_genpack = 165, + sym__genpack_list = 166, + sym_vararg = 167, + sym_string = 168, + sym_string_interp = 169, + sym_interp_exp = 170, + sym_boolean = 171, + sym_comment = 172, + aux_sym__block_repeat1 = 173, + aux_sym_if_stmt_repeat1 = 174, + aux_sym__varlist_repeat1 = 175, + aux_sym__type_stmt_genlist_repeat1 = 176, + aux_sym__type_stmt_packlist_repeat1 = 177, + aux_sym__explist_repeat1 = 178, + aux_sym_ifexp_repeat1 = 179, + aux_sym_fieldlist_repeat1 = 180, + aux_sym__bindinglist_repeat1 = 181, + aux_sym__paramlist_repeat1 = 182, + aux_sym__typelist_repeat1 = 183, + aux_sym__typeparamlist_repeat1 = 184, + aux_sym__fntype_paramlist_repeat1 = 185, + aux_sym__tbtype_kvlist_repeat1 = 186, + aux_sym__genlist_repeat1 = 187, + aux_sym__genpack_list_repeat1 = 188, + aux_sym_string_interp_repeat1 = 189, + alias_sym_array = 190, + alias_sym_explist = 191, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym_name] = "name", + [anon_sym_SEMI] = ";", + [anon_sym_return] = "return", + [anon_sym_local] = "local", + [anon_sym_function] = "function", + [anon_sym_DOT] = ".", + [anon_sym_COLON] = ":", + [anon_sym_for] = "for", + [anon_sym_in] = "in", + [anon_sym_do] = "do", + [anon_sym_end] = "end", + [anon_sym_EQ] = "=", + [anon_sym_COMMA] = ",", + [anon_sym_if] = "if", + [anon_sym_then] = "then", + [anon_sym_elseif] = "elseif", + [anon_sym_else] = "else", + [anon_sym_repeat] = "repeat", + [anon_sym_until] = "until", + [anon_sym_while] = "while", + [sym_break_stmt] = "break_stmt", + [sym_continue_stmt] = "continue_stmt", + [anon_sym_export] = "export", + [anon_sym_] = " ", + [anon_sym_type] = "type", + [anon_sym_LT] = "<", + [anon_sym_GT] = ">", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_PERCENT_EQ] = "%=", + [anon_sym_CARET_EQ] = "^=", + [anon_sym_DOT_DOT_EQ] = "..=", + [anon_sym_SLASH_SLASH_EQ] = "//=", + [anon_sym_or] = "or", + [anon_sym_and] = "and", + [anon_sym_EQ_EQ] = "==", + [anon_sym_TILDE_EQ] = "~=", + [anon_sym_LT_EQ] = "<=", + [anon_sym_GT_EQ] = ">=", + [anon_sym_PLUS] = "+", + [anon_sym_DASH] = "-", + [anon_sym_STAR] = "*", + [anon_sym_SLASH] = "/", + [anon_sym_SLASH_SLASH] = "//", + [anon_sym_PERCENT] = "%", + [anon_sym_DOT_DOT] = "..", + [anon_sym_CARET] = "^", + [anon_sym_COLON_COLON] = "::", + [anon_sym_not] = "not", + [anon_sym_POUND] = "#", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_typeof] = "typeof", + [anon_sym_DASH_GT] = "->", + [anon_sym_AMP] = "&", + [anon_sym_PIPE] = "|", + [anon_sym_QMARK] = "\?", + [sym_number] = "number", + [anon_sym_true] = "true", + [anon_sym_false] = "false", + [sym_nil] = "nil", + [sym__comment_start] = "_comment_start", + [sym__comment_content] = "_comment_content", + [sym__comment_end] = "_comment_end", + [sym__string_start] = "_string_start", + [sym__string_content] = "_string_content", + [sym__string_end] = "_string_end", + [sym_interp_start] = "interp_start", + [sym_interp_content] = "interp_content", + [sym_interp_brace_open] = "interp_brace_open", + [sym_interp_brace_close] = "interp_brace_close", + [sym_interp_end] = "interp_end", + [sym_chunk] = "chunk", + [sym_block] = "block", + [sym__block] = "_block", + [sym_ret_stmt] = "ret_stmt", + [sym_statement] = "statement", + [sym_local_fn_stmt] = "local_fn_stmt", + [sym_fn_stmt] = "fn_stmt", + [sym__tbl_fn_member] = "_tbl_fn_member", + [sym__tbl_fn_field] = "field", + [sym_for_in_stmt] = "for_in_stmt", + [sym_for_range_stmt] = "for_range_stmt", + [sym_if_stmt] = "if_stmt", + [sym_elseif_clause] = "elseif_clause", + [sym_else_clause] = "else_clause", + [sym_repeat_stmt] = "repeat_stmt", + [sym_while_stmt] = "while_stmt", + [sym_do_stmt] = "do_stmt", + [sym_local_var_stmt] = "local_var_stmt", + [sym_var_stmt] = "var_stmt", + [sym_assign_stmt] = "assign_stmt", + [sym__varlist] = "varlist", + [sym_type_stmt] = "type_stmt", + [sym_genericdef] = "genericdef", + [sym__type_stmt_genlist] = "_type_stmt_genlist", + [sym_genpackdef] = "genpackdef", + [sym__type_stmt_packlist] = "_type_stmt_packlist", + [sym__assign] = "_assign", + [sym_exp] = "exp", + [sym__explist] = "_explist", + [sym_binexp] = "binexp", + [sym_cast] = "cast", + [sym_unexp] = "unexp", + [sym_ifexp] = "ifexp", + [sym__ifexp_elseif] = "_ifexp_elseif", + [sym_table] = "table", + [sym_fieldlist] = "fieldlist", + [sym_field] = "field", + [sym_prefixexp] = "prefixexp", + [sym__prefixexp] = "_prefixexp", + [sym_exp_wrap] = "exp_wrap", + [sym_call_stmt] = "call_stmt", + [sym__tbl_method] = "_tbl_method", + [sym__method_name] = "_method_name", + [sym_arglist] = "arglist", + [sym_binding] = "binding", + [sym__bindinglist] = "_bindinglist", + [sym_var] = "var", + [sym__tbl_var] = "_tbl_var", + [sym__field_named] = "_field_named", + [sym__field_indexed] = "_field_indexed", + [sym_anon_fn] = "anon_fn", + [sym__fn_body] = "_fn_body", + [sym__paramlist] = "_paramlist", + [sym__param_vararg] = "param", + [sym_type] = "type", + [sym_singleton] = "singleton", + [sym_namedtype] = "namedtype", + [sym__typelist] = "_typelist", + [sym__typelist_vrd] = "_typelist_vrd", + [sym_wraptype] = "wraptype", + [sym_typeparam] = "typeparam", + [sym__typeparamlist] = "_typeparamlist", + [sym_typepack] = "typepack", + [sym__typepack_wrap] = "_typepack_wrap", + [sym__typepack_vrd] = "_typepack_vrd", + [sym__typepack_gen] = "_typepack_gen", + [sym_variadic] = "variadic", + [sym_dyntype] = "dyntype", + [sym_fntype] = "fntype", + [sym__fntype_gen] = "_fntype_gen", + [sym__fntype_wrap] = "paramlist", + [sym__fntype_param] = "_fntype_param", + [sym__fntype_paramlist] = "_fntype_paramlist", + [sym__fntype_paramlist_vrd] = "_fntype_paramlist_vrd", + [sym_tbtype] = "tbtype", + [sym__tbtype_content] = "_tbtype_content", + [sym__tbtype_array] = "_tbtype_array", + [sym__tbtype_kv] = "_tbtype_kv", + [sym__tbtype_kvlist] = "_tbtype_kvlist", + [sym__tbtype_index] = "_tbtype_index", + [sym__tbtype_prop] = "_tbtype_prop", + [sym_bintype] = "bintype", + [sym_untype] = "untype", + [sym_generic] = "generic", + [sym__genlist] = "_genlist", + [sym_genpack] = "genpack", + [sym__genpack_list] = "_genpack_list", + [sym_vararg] = "vararg", + [sym_string] = "string", + [sym_string_interp] = "string_interp", + [sym_interp_exp] = "interp_exp", + [sym_boolean] = "boolean", + [sym_comment] = "comment", + [aux_sym__block_repeat1] = "_block_repeat1", + [aux_sym_if_stmt_repeat1] = "if_stmt_repeat1", + [aux_sym__varlist_repeat1] = "_varlist_repeat1", + [aux_sym__type_stmt_genlist_repeat1] = "_type_stmt_genlist_repeat1", + [aux_sym__type_stmt_packlist_repeat1] = "_type_stmt_packlist_repeat1", + [aux_sym__explist_repeat1] = "_explist_repeat1", + [aux_sym_ifexp_repeat1] = "ifexp_repeat1", + [aux_sym_fieldlist_repeat1] = "fieldlist_repeat1", + [aux_sym__bindinglist_repeat1] = "_bindinglist_repeat1", + [aux_sym__paramlist_repeat1] = "_paramlist_repeat1", + [aux_sym__typelist_repeat1] = "_typelist_repeat1", + [aux_sym__typeparamlist_repeat1] = "_typeparamlist_repeat1", + [aux_sym__fntype_paramlist_repeat1] = "_fntype_paramlist_repeat1", + [aux_sym__tbtype_kvlist_repeat1] = "_tbtype_kvlist_repeat1", + [aux_sym__genlist_repeat1] = "_genlist_repeat1", + [aux_sym__genpack_list_repeat1] = "_genpack_list_repeat1", + [aux_sym_string_interp_repeat1] = "string_interp_repeat1", + [alias_sym_array] = "array", + [alias_sym_explist] = "explist", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_name] = sym_name, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_return] = anon_sym_return, + [anon_sym_local] = anon_sym_local, + [anon_sym_function] = anon_sym_function, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_for] = anon_sym_for, + [anon_sym_in] = anon_sym_in, + [anon_sym_do] = anon_sym_do, + [anon_sym_end] = anon_sym_end, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_if] = anon_sym_if, + [anon_sym_then] = anon_sym_then, + [anon_sym_elseif] = anon_sym_elseif, + [anon_sym_else] = anon_sym_else, + [anon_sym_repeat] = anon_sym_repeat, + [anon_sym_until] = anon_sym_until, + [anon_sym_while] = anon_sym_while, + [sym_break_stmt] = sym_break_stmt, + [sym_continue_stmt] = sym_continue_stmt, + [anon_sym_export] = anon_sym_export, + [anon_sym_] = anon_sym_, + [anon_sym_type] = anon_sym_type, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, + [anon_sym_CARET_EQ] = anon_sym_CARET_EQ, + [anon_sym_DOT_DOT_EQ] = anon_sym_DOT_DOT_EQ, + [anon_sym_SLASH_SLASH_EQ] = anon_sym_SLASH_SLASH_EQ, + [anon_sym_or] = anon_sym_or, + [anon_sym_and] = anon_sym_and, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_TILDE_EQ] = anon_sym_TILDE_EQ, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_not] = anon_sym_not, + [anon_sym_POUND] = anon_sym_POUND, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_typeof] = anon_sym_typeof, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_QMARK] = anon_sym_QMARK, + [sym_number] = sym_number, + [anon_sym_true] = anon_sym_true, + [anon_sym_false] = anon_sym_false, + [sym_nil] = sym_nil, + [sym__comment_start] = sym__comment_start, + [sym__comment_content] = sym__comment_content, + [sym__comment_end] = sym__comment_end, + [sym__string_start] = sym__string_start, + [sym__string_content] = sym__string_content, + [sym__string_end] = sym__string_end, + [sym_interp_start] = sym_interp_start, + [sym_interp_content] = sym_interp_content, + [sym_interp_brace_open] = sym_interp_brace_open, + [sym_interp_brace_close] = sym_interp_brace_close, + [sym_interp_end] = sym_interp_end, + [sym_chunk] = sym_chunk, + [sym_block] = sym_block, + [sym__block] = sym__block, + [sym_ret_stmt] = sym_ret_stmt, + [sym_statement] = sym_statement, + [sym_local_fn_stmt] = sym_local_fn_stmt, + [sym_fn_stmt] = sym_fn_stmt, + [sym__tbl_fn_member] = sym__tbl_fn_member, + [sym__tbl_fn_field] = sym_field, + [sym_for_in_stmt] = sym_for_in_stmt, + [sym_for_range_stmt] = sym_for_range_stmt, + [sym_if_stmt] = sym_if_stmt, + [sym_elseif_clause] = sym_elseif_clause, + [sym_else_clause] = sym_else_clause, + [sym_repeat_stmt] = sym_repeat_stmt, + [sym_while_stmt] = sym_while_stmt, + [sym_do_stmt] = sym_do_stmt, + [sym_local_var_stmt] = sym_local_var_stmt, + [sym_var_stmt] = sym_var_stmt, + [sym_assign_stmt] = sym_assign_stmt, + [sym__varlist] = sym__varlist, + [sym_type_stmt] = sym_type_stmt, + [sym_genericdef] = sym_genericdef, + [sym__type_stmt_genlist] = sym__type_stmt_genlist, + [sym_genpackdef] = sym_genpackdef, + [sym__type_stmt_packlist] = sym__type_stmt_packlist, + [sym__assign] = sym__assign, + [sym_exp] = sym_exp, + [sym__explist] = sym__explist, + [sym_binexp] = sym_binexp, + [sym_cast] = sym_cast, + [sym_unexp] = sym_unexp, + [sym_ifexp] = sym_ifexp, + [sym__ifexp_elseif] = sym__ifexp_elseif, + [sym_table] = sym_table, + [sym_fieldlist] = sym_fieldlist, + [sym_field] = sym_field, + [sym_prefixexp] = sym_prefixexp, + [sym__prefixexp] = sym__prefixexp, + [sym_exp_wrap] = sym_exp_wrap, + [sym_call_stmt] = sym_call_stmt, + [sym__tbl_method] = sym__tbl_method, + [sym__method_name] = sym__method_name, + [sym_arglist] = sym_arglist, + [sym_binding] = sym_binding, + [sym__bindinglist] = sym__bindinglist, + [sym_var] = sym_var, + [sym__tbl_var] = sym__tbl_var, + [sym__field_named] = sym__field_named, + [sym__field_indexed] = sym__field_indexed, + [sym_anon_fn] = sym_anon_fn, + [sym__fn_body] = sym__fn_body, + [sym__paramlist] = sym__paramlist, + [sym__param_vararg] = sym__param_vararg, + [sym_type] = sym_type, + [sym_singleton] = sym_singleton, + [sym_namedtype] = sym_namedtype, + [sym__typelist] = sym__typelist, + [sym__typelist_vrd] = sym__typelist_vrd, + [sym_wraptype] = sym_wraptype, + [sym_typeparam] = sym_typeparam, + [sym__typeparamlist] = sym__typeparamlist, + [sym_typepack] = sym_typepack, + [sym__typepack_wrap] = sym__typepack_wrap, + [sym__typepack_vrd] = sym__typepack_vrd, + [sym__typepack_gen] = sym__typepack_gen, + [sym_variadic] = sym_variadic, + [sym_dyntype] = sym_dyntype, + [sym_fntype] = sym_fntype, + [sym__fntype_gen] = sym__fntype_gen, + [sym__fntype_wrap] = sym__fntype_wrap, + [sym__fntype_param] = sym__fntype_param, + [sym__fntype_paramlist] = sym__fntype_paramlist, + [sym__fntype_paramlist_vrd] = sym__fntype_paramlist_vrd, + [sym_tbtype] = sym_tbtype, + [sym__tbtype_content] = sym__tbtype_content, + [sym__tbtype_array] = sym__tbtype_array, + [sym__tbtype_kv] = sym__tbtype_kv, + [sym__tbtype_kvlist] = sym__tbtype_kvlist, + [sym__tbtype_index] = sym__tbtype_index, + [sym__tbtype_prop] = sym__tbtype_prop, + [sym_bintype] = sym_bintype, + [sym_untype] = sym_untype, + [sym_generic] = sym_generic, + [sym__genlist] = sym__genlist, + [sym_genpack] = sym_genpack, + [sym__genpack_list] = sym__genpack_list, + [sym_vararg] = sym_vararg, + [sym_string] = sym_string, + [sym_string_interp] = sym_string_interp, + [sym_interp_exp] = sym_interp_exp, + [sym_boolean] = sym_boolean, + [sym_comment] = sym_comment, + [aux_sym__block_repeat1] = aux_sym__block_repeat1, + [aux_sym_if_stmt_repeat1] = aux_sym_if_stmt_repeat1, + [aux_sym__varlist_repeat1] = aux_sym__varlist_repeat1, + [aux_sym__type_stmt_genlist_repeat1] = aux_sym__type_stmt_genlist_repeat1, + [aux_sym__type_stmt_packlist_repeat1] = aux_sym__type_stmt_packlist_repeat1, + [aux_sym__explist_repeat1] = aux_sym__explist_repeat1, + [aux_sym_ifexp_repeat1] = aux_sym_ifexp_repeat1, + [aux_sym_fieldlist_repeat1] = aux_sym_fieldlist_repeat1, + [aux_sym__bindinglist_repeat1] = aux_sym__bindinglist_repeat1, + [aux_sym__paramlist_repeat1] = aux_sym__paramlist_repeat1, + [aux_sym__typelist_repeat1] = aux_sym__typelist_repeat1, + [aux_sym__typeparamlist_repeat1] = aux_sym__typeparamlist_repeat1, + [aux_sym__fntype_paramlist_repeat1] = aux_sym__fntype_paramlist_repeat1, + [aux_sym__tbtype_kvlist_repeat1] = aux_sym__tbtype_kvlist_repeat1, + [aux_sym__genlist_repeat1] = aux_sym__genlist_repeat1, + [aux_sym__genpack_list_repeat1] = aux_sym__genpack_list_repeat1, + [aux_sym_string_interp_repeat1] = aux_sym_string_interp_repeat1, + [alias_sym_array] = alias_sym_array, + [alias_sym_explist] = alias_sym_explist, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym_name] = { + .visible = true, + .named = true, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_local] = { + .visible = true, + .named = false, + }, + [anon_sym_function] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_in] = { + .visible = true, + .named = false, + }, + [anon_sym_do] = { + .visible = true, + .named = false, + }, + [anon_sym_end] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_then] = { + .visible = true, + .named = false, + }, + [anon_sym_elseif] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_repeat] = { + .visible = true, + .named = false, + }, + [anon_sym_until] = { + .visible = true, + .named = false, + }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [sym_break_stmt] = { + .visible = true, + .named = true, + }, + [sym_continue_stmt] = { + .visible = true, + .named = true, + }, + [anon_sym_export] = { + .visible = true, + .named = false, + }, + [anon_sym_] = { + .visible = true, + .named = false, + }, + [anon_sym_type] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_or] = { + .visible = true, + .named = false, + }, + [anon_sym_and] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_TILDE_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_not] = { + .visible = true, + .named = false, + }, + [anon_sym_POUND] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_typeof] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, + [sym_number] = { + .visible = true, + .named = true, + }, + [anon_sym_true] = { + .visible = true, + .named = false, + }, + [anon_sym_false] = { + .visible = true, + .named = false, + }, + [sym_nil] = { + .visible = true, + .named = true, + }, + [sym__comment_start] = { + .visible = false, + .named = true, + }, + [sym__comment_content] = { + .visible = false, + .named = true, + }, + [sym__comment_end] = { + .visible = false, + .named = true, + }, + [sym__string_start] = { + .visible = false, + .named = true, + }, + [sym__string_content] = { + .visible = false, + .named = true, + }, + [sym__string_end] = { + .visible = false, + .named = true, + }, + [sym_interp_start] = { + .visible = true, + .named = true, + }, + [sym_interp_content] = { + .visible = true, + .named = true, + }, + [sym_interp_brace_open] = { + .visible = true, + .named = true, + }, + [sym_interp_brace_close] = { + .visible = true, + .named = true, + }, + [sym_interp_end] = { + .visible = true, + .named = true, + }, + [sym_chunk] = { + .visible = true, + .named = true, + }, + [sym_block] = { + .visible = true, + .named = true, + }, + [sym__block] = { + .visible = false, + .named = true, + }, + [sym_ret_stmt] = { + .visible = true, + .named = true, + }, + [sym_statement] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_local_fn_stmt] = { + .visible = true, + .named = true, + }, + [sym_fn_stmt] = { + .visible = true, + .named = true, + }, + [sym__tbl_fn_member] = { + .visible = false, + .named = true, + }, + [sym__tbl_fn_field] = { + .visible = true, + .named = true, + }, + [sym_for_in_stmt] = { + .visible = true, + .named = true, + }, + [sym_for_range_stmt] = { + .visible = true, + .named = true, + }, + [sym_if_stmt] = { + .visible = true, + .named = true, + }, + [sym_elseif_clause] = { + .visible = true, + .named = true, + }, + [sym_else_clause] = { + .visible = true, + .named = true, + }, + [sym_repeat_stmt] = { + .visible = true, + .named = true, + }, + [sym_while_stmt] = { + .visible = true, + .named = true, + }, + [sym_do_stmt] = { + .visible = true, + .named = true, + }, + [sym_local_var_stmt] = { + .visible = true, + .named = true, + }, + [sym_var_stmt] = { + .visible = true, + .named = true, + }, + [sym_assign_stmt] = { + .visible = true, + .named = true, + }, + [sym__varlist] = { + .visible = true, + .named = true, + }, + [sym_type_stmt] = { + .visible = true, + .named = true, + }, + [sym_genericdef] = { + .visible = true, + .named = true, + }, + [sym__type_stmt_genlist] = { + .visible = false, + .named = true, + }, + [sym_genpackdef] = { + .visible = true, + .named = true, + }, + [sym__type_stmt_packlist] = { + .visible = false, + .named = true, + }, + [sym__assign] = { + .visible = false, + .named = true, + }, + [sym_exp] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__explist] = { + .visible = false, + .named = true, + }, + [sym_binexp] = { + .visible = true, + .named = true, + }, + [sym_cast] = { + .visible = true, + .named = true, + }, + [sym_unexp] = { + .visible = true, + .named = true, + }, + [sym_ifexp] = { + .visible = true, + .named = true, + }, + [sym__ifexp_elseif] = { + .visible = false, + .named = true, + }, + [sym_table] = { + .visible = true, + .named = true, + }, + [sym_fieldlist] = { + .visible = true, + .named = true, + }, + [sym_field] = { + .visible = true, + .named = true, + }, + [sym_prefixexp] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__prefixexp] = { + .visible = false, + .named = true, + }, + [sym_exp_wrap] = { + .visible = true, + .named = true, + }, + [sym_call_stmt] = { + .visible = true, + .named = true, + }, + [sym__tbl_method] = { + .visible = false, + .named = true, + }, + [sym__method_name] = { + .visible = false, + .named = true, + }, + [sym_arglist] = { + .visible = true, + .named = true, + }, + [sym_binding] = { + .visible = true, + .named = true, + }, + [sym__bindinglist] = { + .visible = false, + .named = true, + }, + [sym_var] = { + .visible = true, + .named = true, + }, + [sym__tbl_var] = { + .visible = false, + .named = true, + }, + [sym__field_named] = { + .visible = false, + .named = true, + }, + [sym__field_indexed] = { + .visible = false, + .named = true, + }, + [sym_anon_fn] = { + .visible = true, + .named = true, + }, + [sym__fn_body] = { + .visible = false, + .named = true, + }, + [sym__paramlist] = { + .visible = false, + .named = true, + }, + [sym__param_vararg] = { + .visible = true, + .named = true, + }, + [sym_type] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_singleton] = { + .visible = true, + .named = true, + }, + [sym_namedtype] = { + .visible = true, + .named = true, + }, + [sym__typelist] = { + .visible = false, + .named = true, + }, + [sym__typelist_vrd] = { + .visible = false, + .named = true, + }, + [sym_wraptype] = { + .visible = true, + .named = true, + }, + [sym_typeparam] = { + .visible = true, + .named = true, + }, + [sym__typeparamlist] = { + .visible = false, + .named = true, + }, + [sym_typepack] = { + .visible = true, + .named = true, + }, + [sym__typepack_wrap] = { + .visible = false, + .named = true, + }, + [sym__typepack_vrd] = { + .visible = false, + .named = true, + }, + [sym__typepack_gen] = { + .visible = false, + .named = true, + }, + [sym_variadic] = { + .visible = true, + .named = true, + }, + [sym_dyntype] = { + .visible = true, + .named = true, + }, + [sym_fntype] = { + .visible = true, + .named = true, + }, + [sym__fntype_gen] = { + .visible = false, + .named = true, + }, + [sym__fntype_wrap] = { + .visible = true, + .named = true, + }, + [sym__fntype_param] = { + .visible = false, + .named = true, + }, + [sym__fntype_paramlist] = { + .visible = false, + .named = true, + }, + [sym__fntype_paramlist_vrd] = { + .visible = false, + .named = true, + }, + [sym_tbtype] = { + .visible = true, + .named = true, + }, + [sym__tbtype_content] = { + .visible = false, + .named = true, + }, + [sym__tbtype_array] = { + .visible = false, + .named = true, + }, + [sym__tbtype_kv] = { + .visible = false, + .named = true, + }, + [sym__tbtype_kvlist] = { + .visible = false, + .named = true, + }, + [sym__tbtype_index] = { + .visible = false, + .named = true, + }, + [sym__tbtype_prop] = { + .visible = false, + .named = true, + }, + [sym_bintype] = { + .visible = true, + .named = true, + }, + [sym_untype] = { + .visible = true, + .named = true, + }, + [sym_generic] = { + .visible = true, + .named = true, + }, + [sym__genlist] = { + .visible = false, + .named = true, + }, + [sym_genpack] = { + .visible = true, + .named = true, + }, + [sym__genpack_list] = { + .visible = false, + .named = true, + }, + [sym_vararg] = { + .visible = true, + .named = true, + }, + [sym_string] = { + .visible = true, + .named = true, + }, + [sym_string_interp] = { + .visible = true, + .named = true, + }, + [sym_interp_exp] = { + .visible = true, + .named = true, + }, + [sym_boolean] = { + .visible = true, + .named = true, + }, + [sym_comment] = { + .visible = true, + .named = true, + }, + [aux_sym__block_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_if_stmt_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__varlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__type_stmt_genlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__type_stmt_packlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__explist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_ifexp_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_fieldlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__bindinglist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__paramlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__typelist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__typeparamlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__fntype_paramlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__tbtype_kvlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__genlist_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym__genpack_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_interp_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_array] = { + .visible = true, + .named = true, + }, + [alias_sym_explist] = { + .visible = true, + .named = true, + }, +}; + +enum { + field_alternative = 1, + field_arg = 2, + field_arg0 = 3, + field_arg1 = 4, + field_body = 5, + field_cast = 6, + field_condition = 7, + field_consequence = 8, + field_expression = 9, + field_field = 10, + field_index = 11, + field_invoked = 12, + field_key = 13, + field_method = 14, + field_module = 15, + field_name = 16, + field_op = 17, + field_prop = 18, + field_return_type = 19, + field_start = 20, + field_step = 21, + field_stop = 22, + field_table = 23, + field_value = 24, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_alternative] = "alternative", + [field_arg] = "arg", + [field_arg0] = "arg0", + [field_arg1] = "arg1", + [field_body] = "body", + [field_cast] = "cast", + [field_condition] = "condition", + [field_consequence] = "consequence", + [field_expression] = "expression", + [field_field] = "field", + [field_index] = "index", + [field_invoked] = "invoked", + [field_key] = "key", + [field_method] = "method", + [field_module] = "module", + [field_name] = "name", + [field_op] = "op", + [field_prop] = "prop", + [field_return_type] = "return_type", + [field_start] = "start", + [field_step] = "step", + [field_stop] = "stop", + [field_table] = "table", + [field_value] = "value", +}; + +static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [1] = {.index = 0, .length = 2}, + [2] = {.index = 2, .length = 2}, + [3] = {.index = 4, .length = 2}, + [4] = {.index = 6, .length = 1}, + [5] = {.index = 7, .length = 2}, + [6] = {.index = 9, .length = 4}, + [7] = {.index = 13, .length = 2}, + [8] = {.index = 15, .length = 2}, + [9] = {.index = 17, .length = 1}, + [10] = {.index = 18, .length = 3}, + [11] = {.index = 21, .length = 1}, + [12] = {.index = 22, .length = 1}, + [13] = {.index = 23, .length = 1}, + [15] = {.index = 24, .length = 1}, + [17] = {.index = 25, .length = 3}, + [18] = {.index = 28, .length = 3}, + [19] = {.index = 31, .length = 2}, + [20] = {.index = 33, .length = 1}, + [21] = {.index = 34, .length = 5}, + [22] = {.index = 39, .length = 2}, + [23] = {.index = 41, .length = 1}, + [24] = {.index = 42, .length = 1}, + [25] = {.index = 43, .length = 2}, + [26] = {.index = 45, .length = 1}, + [27] = {.index = 46, .length = 2}, + [29] = {.index = 48, .length = 3}, + [30] = {.index = 51, .length = 2}, + [31] = {.index = 53, .length = 2}, + [32] = {.index = 55, .length = 2}, + [33] = {.index = 57, .length = 2}, + [34] = {.index = 59, .length = 2}, + [35] = {.index = 61, .length = 2}, + [36] = {.index = 63, .length = 2}, + [37] = {.index = 65, .length = 2}, + [38] = {.index = 67, .length = 1}, + [40] = {.index = 68, .length = 3}, + [41] = {.index = 71, .length = 6}, + [42] = {.index = 77, .length = 1}, + [43] = {.index = 78, .length = 3}, + [44] = {.index = 81, .length = 3}, + [45] = {.index = 84, .length = 3}, + [46] = {.index = 87, .length = 1}, + [47] = {.index = 88, .length = 1}, + [48] = {.index = 89, .length = 2}, + [49] = {.index = 91, .length = 2}, + [50] = {.index = 93, .length = 1}, + [51] = {.index = 94, .length = 4}, + [52] = {.index = 98, .length = 2}, + [53] = {.index = 100, .length = 1}, + [54] = {.index = 101, .length = 2}, + [55] = {.index = 103, .length = 2}, + [56] = {.index = 105, .length = 2}, + [57] = {.index = 107, .length = 3}, + [58] = {.index = 110, .length = 1}, + [59] = {.index = 111, .length = 1}, + [60] = {.index = 112, .length = 3}, + [61] = {.index = 115, .length = 2}, + [62] = {.index = 117, .length = 1}, + [63] = {.index = 118, .length = 4}, + [64] = {.index = 122, .length = 2}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_field, 0, .inherited = true}, + {field_table, 0, .inherited = true}, + [2] = + {field_field, 1, .inherited = true}, + {field_table, 0}, + [4] = + {field_method, 1, .inherited = true}, + {field_table, 0}, + [6] = + {field_invoked, 0}, + [7] = + {field_method, 0, .inherited = true}, + {field_table, 0, .inherited = true}, + [9] = + {field_field, 0, .inherited = true}, + {field_field, 1, .inherited = true}, + {field_table, 0}, + {field_table, 0, .inherited = true}, + [13] = + {field_body, 1, .inherited = true}, + {field_return_type, 1, .inherited = true}, + [15] = + {field_arg, 1}, + {field_op, 0}, + [17] = + {field_value, 0}, + [18] = + {field_body, 2, .inherited = true}, + {field_name, 1}, + {field_return_type, 2, .inherited = true}, + [21] = + {field_body, 1}, + [22] = + {field_condition, 2}, + [23] = + {field_field, 1}, + [24] = + {field_method, 1}, + [25] = + {field_arg0, 0}, + {field_arg1, 2}, + {field_op, 1}, + [28] = + {field_arg, 0}, + {field_cast, 2}, + {field_op, 1}, + [31] = + {field_body, 3, .inherited = true}, + {field_return_type, 3, .inherited = true}, + [33] = + {field_name, 1}, + [34] = + {field_body, 3, .inherited = true}, + {field_method, 2, .inherited = true}, + {field_name, 2, .inherited = true}, + {field_return_type, 3, .inherited = true}, + {field_table, 1}, + [39] = + {field_method, 1, .inherited = true}, + {field_name, 1, .inherited = true}, + [41] = + {field_condition, 1}, + [42] = + {field_alternative, 0}, + [43] = + {field_body, 1}, + {field_condition, 3}, + [45] = + {field_expression, 1}, + [46] = + {field_key, 0}, + {field_value, 2}, + [48] = + {field_index, 0, .inherited = true}, + {field_prop, 0, .inherited = true}, + {field_value, 0, .inherited = true}, + [51] = + {field_index, 0, .inherited = true}, + {field_value, 0, .inherited = true}, + [53] = + {field_prop, 0, .inherited = true}, + {field_value, 0, .inherited = true}, + [55] = + {field_arg, 0}, + {field_op, 1}, + [57] = + {field_condition, 1}, + {field_consequence, 3}, + [59] = + {field_alternative, 3}, + {field_condition, 1}, + [61] = + {field_alternative, 3, .inherited = true}, + {field_condition, 1}, + [63] = + {field_alternative, 0, .inherited = true}, + {field_alternative, 1, .inherited = true}, + [65] = + {field_body, 3}, + {field_condition, 1}, + [67] = + {field_body, 2}, + [68] = + {field_index, 1, .inherited = true}, + {field_prop, 1, .inherited = true}, + {field_value, 1, .inherited = true}, + [71] = + {field_index, 0, .inherited = true}, + {field_index, 1, .inherited = true}, + {field_prop, 0, .inherited = true}, + {field_prop, 1, .inherited = true}, + {field_value, 0, .inherited = true}, + {field_value, 1, .inherited = true}, + [77] = + {field_module, 0}, + [78] = + {field_alternative, 4}, + {field_condition, 1}, + {field_consequence, 3}, + [81] = + {field_alternative, 4, .inherited = true}, + {field_condition, 1}, + {field_consequence, 3}, + [84] = + {field_alternative, 3, .inherited = true}, + {field_alternative, 4}, + {field_condition, 1}, + [87] = + {field_return_type, 3}, + [88] = + {field_body, 3}, + [89] = + {field_key, 1}, + {field_value, 4}, + [91] = + {field_prop, 0}, + {field_value, 2}, + [93] = + {field_body, 5}, + [94] = + {field_alternative, 4, .inherited = true}, + {field_alternative, 5}, + {field_condition, 1}, + {field_consequence, 3}, + [98] = + {field_body, 4}, + {field_return_type, 3}, + [100] = + {field_return_type, 4}, + [101] = + {field_start, 3}, + {field_stop, 5}, + [103] = + {field_body, 5}, + {field_return_type, 4}, + [105] = + {field_index, 1}, + {field_value, 4}, + [107] = + {field_body, 7}, + {field_start, 3}, + {field_stop, 5}, + [110] = + {field_return_type, 6}, + [111] = + {field_body, 6}, + [112] = + {field_start, 3}, + {field_step, 7}, + {field_stop, 5}, + [115] = + {field_body, 7}, + {field_return_type, 6}, + [117] = + {field_return_type, 7}, + [118] = + {field_body, 9}, + {field_start, 3}, + {field_step, 7}, + {field_stop, 5}, + [122] = + {field_body, 8}, + {field_return_type, 7}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [14] = { + [2] = alias_sym_explist, + }, + [16] = { + [0] = sym__param_vararg, + }, + [28] = { + [0] = alias_sym_array, + }, + [39] = { + [1] = sym__param_vararg, + }, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + sym__explist, 2, + sym__explist, + alias_sym_explist, + sym_binding, 2, + sym_binding, + sym__param_vararg, + sym_type, 2, + sym_type, + alias_sym_array, + 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] = 26, + [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] = 26, + [40] = 40, + [41] = 35, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 47, + [48] = 48, + [49] = 49, + [50] = 50, + [51] = 51, + [52] = 52, + [53] = 53, + [54] = 54, + [55] = 55, + [56] = 55, + [57] = 57, + [58] = 58, + [59] = 59, + [60] = 60, + [61] = 60, + [62] = 58, + [63] = 57, + [64] = 64, + [65] = 30, + [66] = 18, + [67] = 67, + [68] = 68, + [69] = 69, + [70] = 70, + [71] = 71, + [72] = 72, + [73] = 73, + [74] = 74, + [75] = 75, + [76] = 76, + [77] = 77, + [78] = 78, + [79] = 79, + [80] = 80, + [81] = 81, + [82] = 82, + [83] = 83, + [84] = 84, + [85] = 85, + [86] = 86, + [87] = 87, + [88] = 88, + [89] = 89, + [90] = 90, + [91] = 91, + [92] = 92, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 96, + [97] = 97, + [98] = 98, + [99] = 99, + [100] = 100, + [101] = 99, + [102] = 98, + [103] = 103, + [104] = 100, + [105] = 103, + [106] = 106, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, + [111] = 111, + [112] = 112, + [113] = 113, + [114] = 114, + [115] = 115, + [116] = 112, + [117] = 117, + [118] = 118, + [119] = 118, + [120] = 120, + [121] = 121, + [122] = 107, + [123] = 117, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, + [129] = 128, + [130] = 130, + [131] = 128, + [132] = 128, + [133] = 133, + [134] = 134, + [135] = 135, + [136] = 135, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 137, + [141] = 141, + [142] = 137, + [143] = 143, + [144] = 144, + [145] = 145, + [146] = 146, + [147] = 147, + [148] = 148, + [149] = 149, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 153, + [154] = 154, + [155] = 150, + [156] = 156, + [157] = 149, + [158] = 152, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 144, + [163] = 163, + [164] = 164, + [165] = 165, + [166] = 166, + [167] = 167, + [168] = 154, + [169] = 160, + [170] = 170, + [171] = 171, + [172] = 146, + [173] = 147, + [174] = 151, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 159, + [181] = 181, + [182] = 175, + [183] = 179, + [184] = 160, + [185] = 165, + [186] = 186, + [187] = 187, + [188] = 153, + [189] = 156, + [190] = 190, + [191] = 191, + [192] = 192, + [193] = 191, + [194] = 191, + [195] = 190, + [196] = 192, + [197] = 192, + [198] = 198, + [199] = 190, + [200] = 200, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 205, + [206] = 202, + [207] = 201, + [208] = 202, + [209] = 209, + [210] = 210, + [211] = 209, + [212] = 47, + [213] = 204, + [214] = 205, + [215] = 201, + [216] = 209, + [217] = 217, + [218] = 203, + [219] = 217, + [220] = 202, + [221] = 221, + [222] = 209, + [223] = 49, + [224] = 224, + [225] = 52, + [226] = 48, + [227] = 53, + [228] = 228, + [229] = 229, + [230] = 230, + [231] = 2, + [232] = 12, + [233] = 3, + [234] = 234, + [235] = 235, + [236] = 236, + [237] = 44, + [238] = 34, + [239] = 239, + [240] = 240, + [241] = 35, + [242] = 9, + [243] = 37, + [244] = 19, + [245] = 5, + [246] = 10, + [247] = 6, + [248] = 42, + [249] = 18, + [250] = 26, + [251] = 7, + [252] = 8, + [253] = 30, + [254] = 22, + [255] = 11, + [256] = 4, + [257] = 257, + [258] = 258, + [259] = 259, + [260] = 260, + [261] = 261, + [262] = 262, + [263] = 263, + [264] = 13, + [265] = 265, + [266] = 266, + [267] = 267, + [268] = 268, + [269] = 269, + [270] = 15, + [271] = 271, + [272] = 272, + [273] = 273, + [274] = 14, + [275] = 275, + [276] = 269, + [277] = 267, + [278] = 278, + [279] = 279, + [280] = 280, + [281] = 281, + [282] = 278, + [283] = 283, + [284] = 284, + [285] = 269, + [286] = 286, + [287] = 46, + [288] = 278, + [289] = 289, + [290] = 267, + [291] = 291, + [292] = 269, + [293] = 267, + [294] = 278, + [295] = 286, + [296] = 28, + [297] = 26, + [298] = 25, + [299] = 27, + [300] = 23, + [301] = 17, + [302] = 50, + [303] = 32, + [304] = 304, + [305] = 20, + [306] = 31, + [307] = 40, + [308] = 45, + [309] = 48, + [310] = 304, + [311] = 49, + [312] = 38, + [313] = 29, + [314] = 43, + [315] = 47, + [316] = 36, + [317] = 53, + [318] = 52, + [319] = 21, + [320] = 24, + [321] = 321, + [322] = 33, + [323] = 16, + [324] = 35, + [325] = 325, + [326] = 326, + [327] = 327, + [328] = 328, + [329] = 329, + [330] = 330, + [331] = 331, + [332] = 332, + [333] = 333, + [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] = 54, + [348] = 348, + [349] = 349, + [350] = 350, + [351] = 351, + [352] = 352, + [353] = 353, + [354] = 354, + [355] = 355, + [356] = 356, + [357] = 74, + [358] = 30, + [359] = 90, + [360] = 96, + [361] = 73, + [362] = 68, + [363] = 363, + [364] = 94, + [365] = 64, + [366] = 93, + [367] = 367, + [368] = 84, + [369] = 59, + [370] = 81, + [371] = 371, + [372] = 75, + [373] = 373, + [374] = 67, + [375] = 76, + [376] = 86, + [377] = 377, + [378] = 91, + [379] = 77, + [380] = 85, + [381] = 78, + [382] = 79, + [383] = 80, + [384] = 92, + [385] = 88, + [386] = 95, + [387] = 363, + [388] = 71, + [389] = 82, + [390] = 363, + [391] = 391, + [392] = 392, + [393] = 392, + [394] = 394, + [395] = 395, + [396] = 97, + [397] = 87, + [398] = 398, + [399] = 371, + [400] = 391, + [401] = 401, + [402] = 72, + [403] = 69, + [404] = 404, + [405] = 18, + [406] = 89, + [407] = 407, + [408] = 408, + [409] = 409, + [410] = 410, + [411] = 411, + [412] = 412, + [413] = 413, + [414] = 414, + [415] = 415, + [416] = 416, + [417] = 13, + [418] = 418, + [419] = 418, + [420] = 420, + [421] = 421, + [422] = 422, + [423] = 423, + [424] = 424, + [425] = 424, + [426] = 15, + [427] = 427, + [428] = 428, + [429] = 429, + [430] = 43, + [431] = 431, + [432] = 432, + [433] = 428, + [434] = 428, + [435] = 435, + [436] = 436, + [437] = 437, + [438] = 438, + [439] = 439, + [440] = 440, + [441] = 441, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 445, + [446] = 446, + [447] = 435, + [448] = 436, + [449] = 14, + [450] = 35, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 451, + [456] = 456, + [457] = 17, + [458] = 458, + [459] = 29, + [460] = 23, + [461] = 26, + [462] = 462, + [463] = 463, + [464] = 53, + [465] = 465, + [466] = 466, + [467] = 38, + [468] = 32, + [469] = 48, + [470] = 16, + [471] = 471, + [472] = 49, + [473] = 454, + [474] = 453, + [475] = 20, + [476] = 40, + [477] = 28, + [478] = 36, + [479] = 31, + [480] = 27, + [481] = 24, + [482] = 482, + [483] = 45, + [484] = 33, + [485] = 485, + [486] = 486, + [487] = 487, + [488] = 488, + [489] = 485, + [490] = 21, + [491] = 491, + [492] = 25, + [493] = 493, + [494] = 52, + [495] = 495, + [496] = 453, + [497] = 497, + [498] = 498, + [499] = 499, + [500] = 500, + [501] = 501, + [502] = 502, + [503] = 503, + [504] = 504, + [505] = 505, + [506] = 506, + [507] = 507, + [508] = 508, + [509] = 509, + [510] = 510, + [511] = 511, + [512] = 512, + [513] = 508, + [514] = 514, + [515] = 515, + [516] = 516, + [517] = 517, + [518] = 518, + [519] = 519, + [520] = 520, + [521] = 521, + [522] = 522, + [523] = 523, + [524] = 524, + [525] = 525, + [526] = 526, + [527] = 527, + [528] = 528, + [529] = 529, + [530] = 530, + [531] = 531, + [532] = 532, + [533] = 533, + [534] = 534, + [535] = 535, + [536] = 536, + [537] = 537, + [538] = 538, + [539] = 539, + [540] = 540, + [541] = 541, + [542] = 542, + [543] = 543, + [544] = 544, + [545] = 545, + [546] = 546, + [547] = 547, + [548] = 548, + [549] = 549, + [550] = 550, + [551] = 551, + [552] = 552, + [553] = 553, + [554] = 554, + [555] = 555, + [556] = 556, + [557] = 557, + [558] = 558, + [559] = 559, + [560] = 523, + [561] = 561, + [562] = 562, + [563] = 563, + [564] = 564, + [565] = 565, + [566] = 566, + [567] = 567, + [568] = 568, + [569] = 568, + [570] = 570, + [571] = 568, + [572] = 572, + [573] = 573, + [574] = 574, + [575] = 575, + [576] = 572, + [577] = 568, + [578] = 578, + [579] = 579, + [580] = 580, + [581] = 581, + [582] = 582, + [583] = 583, + [584] = 584, + [585] = 585, + [586] = 586, + [587] = 572, + [588] = 588, + [589] = 589, + [590] = 590, + [591] = 568, + [592] = 592, + [593] = 593, + [594] = 572, + [595] = 595, + [596] = 596, + [597] = 597, + [598] = 598, + [599] = 599, + [600] = 600, + [601] = 601, + [602] = 598, + [603] = 603, + [604] = 604, + [605] = 605, + [606] = 606, + [607] = 607, + [608] = 608, + [609] = 609, + [610] = 610, + [611] = 611, + [612] = 612, + [613] = 613, + [614] = 614, + [615] = 615, + [616] = 616, + [617] = 617, + [618] = 618, + [619] = 619, + [620] = 620, + [621] = 621, + [622] = 622, + [623] = 623, + [624] = 624, + [625] = 611, + [626] = 626, + [627] = 627, + [628] = 628, + [629] = 603, + [630] = 630, + [631] = 631, + [632] = 632, + [633] = 633, + [634] = 621, + [635] = 635, + [636] = 636, + [637] = 637, + [638] = 638, + [639] = 639, + [640] = 640, + [641] = 641, + [642] = 623, + [643] = 637, + [644] = 644, + [645] = 645, + [646] = 646, + [647] = 647, + [648] = 648, + [649] = 649, + [650] = 650, + [651] = 651, + [652] = 652, + [653] = 653, + [654] = 654, + [655] = 655, + [656] = 656, + [657] = 627, + [658] = 658, + [659] = 659, + [660] = 641, + [661] = 661, + [662] = 636, + [663] = 631, + [664] = 664, + [665] = 665, + [666] = 619, + [667] = 615, + [668] = 668, + [669] = 598, + [670] = 610, + [671] = 640, + [672] = 672, + [673] = 611, + [674] = 627, + [675] = 675, + [676] = 676, + [677] = 637, + [678] = 597, + [679] = 640, + [680] = 680, + [681] = 681, + [682] = 652, + [683] = 655, + [684] = 631, + [685] = 685, + [686] = 604, + [687] = 611, + [688] = 627, + [689] = 689, + [690] = 611, + [691] = 691, + [692] = 692, + [693] = 693, + [694] = 606, + [695] = 695, + [696] = 696, + [697] = 697, + [698] = 655, + [699] = 699, + [700] = 652, + [701] = 701, + [702] = 702, + [703] = 681, + [704] = 704, + [705] = 705, + [706] = 706, + [707] = 707, + [708] = 708, + [709] = 648, + [710] = 710, + [711] = 711, + [712] = 608, + [713] = 620, + [714] = 608, + [715] = 715, + [716] = 716, + [717] = 717, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(21); + if (lookahead == '#') ADVANCE(72); + if (lookahead == '%') ADVANCE(64); + if (lookahead == '&') ADVANCE(81); + if (lookahead == '(') ADVANCE(77); + if (lookahead == ')') ADVANCE(78); + if (lookahead == '*') ADVANCE(58); + if (lookahead == '+') ADVANCE(51); + if (lookahead == ',') ADVANCE(32); + if (lookahead == '-') ADVANCE(53); + if (lookahead == '.') ADVANCE(23); + if (lookahead == '/') ADVANCE(59); + if (lookahead == '0') ADVANCE(84); + if (lookahead == ':') ADVANCE(29); + if (lookahead == ';') ADVANCE(22); + if (lookahead == '<') ADVANCE(35); + if (lookahead == '=') ADVANCE(31); + if (lookahead == '>') ADVANCE(37); + if (lookahead == '?') ADVANCE(83); + if (lookahead == '[') ADVANCE(75); + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(70); + if (lookahead == '{') ADVANCE(73); + if (lookahead == '|') ADVANCE(82); + if (lookahead == '}') ADVANCE(74); + if (lookahead == '~') ADVANCE(12); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(0) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(85); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + END_STATE(); + case 1: + if (lookahead == ' ') ADVANCE(33); + END_STATE(); + case 2: + if (lookahead == '%') ADVANCE(7); + if (lookahead == '&') ADVANCE(81); + if (lookahead == '(') ADVANCE(77); + if (lookahead == '*') ADVANCE(8); + if (lookahead == '+') ADVANCE(9); + if (lookahead == ',') ADVANCE(32); + if (lookahead == '-') ADVANCE(10); + if (lookahead == '.') ADVANCE(27); + if (lookahead == '/') ADVANCE(6); + if (lookahead == ':') ADVANCE(28); + if (lookahead == '<') ADVANCE(34); + if (lookahead == '=') ADVANCE(30); + if (lookahead == '>') ADVANCE(36); + if (lookahead == '?') ADVANCE(83); + if (lookahead == '[') ADVANCE(75); + if (lookahead == '^') ADVANCE(11); + if (lookahead == '{') ADVANCE(73); + if (lookahead == '|') ADVANCE(82); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(2) + END_STATE(); + case 3: + if (lookahead == '.') ADVANCE(79); + END_STATE(); + case 4: + if (lookahead == '.') ADVANCE(79); + if (lookahead == '=') ADVANCE(44); + END_STATE(); + case 5: + if (lookahead == '.') ADVANCE(3); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); + END_STATE(); + case 6: + if (lookahead == '/') ADVANCE(13); + if (lookahead == '=') ADVANCE(41); + END_STATE(); + case 7: + if (lookahead == '=') ADVANCE(42); + END_STATE(); + case 8: + if (lookahead == '=') ADVANCE(40); + END_STATE(); + case 9: + if (lookahead == '=') ADVANCE(38); + END_STATE(); + case 10: + if (lookahead == '=') ADVANCE(39); + END_STATE(); + case 11: + if (lookahead == '=') ADVANCE(43); + END_STATE(); + case 12: + if (lookahead == '=') ADVANCE(47); + END_STATE(); + case 13: + if (lookahead == '=') ADVANCE(45); + END_STATE(); + case 14: + if (lookahead == '_') ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); + END_STATE(); + case 15: + if (lookahead == '+' || + lookahead == '-') ADVANCE(14); + if (lookahead == '_') ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88); + END_STATE(); + case 16: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); + END_STATE(); + case 17: + if (eof) ADVANCE(21); + if (lookahead == '#') ADVANCE(72); + if (lookahead == '&') ADVANCE(81); + if (lookahead == '(') ADVANCE(77); + if (lookahead == ')') ADVANCE(78); + if (lookahead == ',') ADVANCE(32); + if (lookahead == '-') ADVANCE(54); + if (lookahead == '.') ADVANCE(5); + if (lookahead == '0') ADVANCE(84); + if (lookahead == ';') ADVANCE(22); + if (lookahead == '<') ADVANCE(34); + if (lookahead == '=') ADVANCE(30); + if (lookahead == '>') ADVANCE(36); + if (lookahead == '?') ADVANCE(83); + if (lookahead == '[') ADVANCE(75); + if (lookahead == ']') ADVANCE(76); + if (lookahead == '{') ADVANCE(73); + if (lookahead == '|') ADVANCE(82); + if (lookahead == '}') ADVANCE(74); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(17) + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(85); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + END_STATE(); + case 18: + if (eof) ADVANCE(21); + if (lookahead == '%') ADVANCE(64); + if (lookahead == '&') ADVANCE(81); + if (lookahead == '(') ADVANCE(77); + if (lookahead == ')') ADVANCE(78); + if (lookahead == '*') ADVANCE(58); + if (lookahead == '+') ADVANCE(51); + if (lookahead == ',') ADVANCE(32); + if (lookahead == '-') ADVANCE(55); + if (lookahead == '.') ADVANCE(24); + if (lookahead == '/') ADVANCE(59); + if (lookahead == ':') ADVANCE(29); + if (lookahead == ';') ADVANCE(22); + if (lookahead == '<') ADVANCE(35); + if (lookahead == '=') ADVANCE(31); + if (lookahead == '>') ADVANCE(37); + if (lookahead == '?') ADVANCE(83); + if (lookahead == '[') ADVANCE(75); + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(70); + if (lookahead == '{') ADVANCE(73); + if (lookahead == '|') ADVANCE(82); + if (lookahead == '}') ADVANCE(74); + if (lookahead == '~') ADVANCE(12); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(18) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + END_STATE(); + case 19: + if (eof) ADVANCE(21); + if (lookahead == '%') ADVANCE(63); + if (lookahead == '&') ADVANCE(81); + if (lookahead == '(') ADVANCE(77); + if (lookahead == ')') ADVANCE(78); + if (lookahead == '*') ADVANCE(57); + if (lookahead == '+') ADVANCE(50); + if (lookahead == ',') ADVANCE(32); + if (lookahead == '-') ADVANCE(56); + if (lookahead == '.') ADVANCE(25); + if (lookahead == '/') ADVANCE(60); + if (lookahead == ':') ADVANCE(29); + if (lookahead == ';') ADVANCE(22); + if (lookahead == '<') ADVANCE(35); + if (lookahead == '=') ADVANCE(31); + if (lookahead == '>') ADVANCE(37); + if (lookahead == '?') ADVANCE(83); + if (lookahead == '[') ADVANCE(75); + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(69); + if (lookahead == '{') ADVANCE(73); + if (lookahead == '|') ADVANCE(82); + if (lookahead == '}') ADVANCE(74); + if (lookahead == '~') ADVANCE(12); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(19) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + END_STATE(); + case 20: + if (eof) ADVANCE(21); + if (lookahead == '%') ADVANCE(63); + if (lookahead == '&') ADVANCE(81); + if (lookahead == '(') ADVANCE(77); + if (lookahead == ')') ADVANCE(78); + if (lookahead == '*') ADVANCE(57); + if (lookahead == '+') ADVANCE(50); + if (lookahead == ',') ADVANCE(32); + if (lookahead == '-') ADVANCE(52); + if (lookahead == '.') ADVANCE(26); + if (lookahead == '/') ADVANCE(60); + if (lookahead == ':') ADVANCE(29); + if (lookahead == ';') ADVANCE(22); + if (lookahead == '<') ADVANCE(35); + if (lookahead == '=') ADVANCE(31); + if (lookahead == '>') ADVANCE(37); + if (lookahead == '?') ADVANCE(83); + if (lookahead == ']') ADVANCE(76); + if (lookahead == '^') ADVANCE(69); + if (lookahead == '|') ADVANCE(82); + if (lookahead == '}') ADVANCE(74); + if (lookahead == '~') ADVANCE(12); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(20) + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + END_STATE(); + case 21: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 22: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 23: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(67); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); + END_STATE(); + case 24: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(68); + END_STATE(); + case 25: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(65); + END_STATE(); + case 26: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(66); + END_STATE(); + case 27: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(4); + END_STATE(); + case 28: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 29: + ACCEPT_TOKEN(anon_sym_COLON); + if (lookahead == ':') ADVANCE(71); + END_STATE(); + case 30: + ACCEPT_TOKEN(anon_sym_EQ); + END_STATE(); + case 31: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(46); + END_STATE(); + case 32: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 33: + ACCEPT_TOKEN(anon_sym_); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_LT); + END_STATE(); + case 35: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(48); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_GT); + END_STATE(); + case 37: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(49); + END_STATE(); + case 38: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 44: + ACCEPT_TOKEN(anon_sym_DOT_DOT_EQ); + END_STATE(); + case 45: + ACCEPT_TOKEN(anon_sym_SLASH_SLASH_EQ); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_TILDE_EQ); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_PLUS); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(38); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(16); + if (lookahead == '0') ADVANCE(84); + if (lookahead == '=') ADVANCE(39); + if (lookahead == '>') ADVANCE(80); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(85); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '.') ADVANCE(16); + if (lookahead == '0') ADVANCE(84); + if (lookahead == '>') ADVANCE(80); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(85); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(39); + END_STATE(); + case 56: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '>') ADVANCE(80); + END_STATE(); + case 57: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 58: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(40); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(62); + if (lookahead == '=') ADVANCE(41); + END_STATE(); + case 60: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '/') ADVANCE(61); + END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_SLASH_SLASH); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_SLASH_SLASH); + if (lookahead == '=') ADVANCE(45); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_PERCENT); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(42); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '.') ADVANCE(79); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '.') ADVANCE(79); + if (lookahead == '=') ADVANCE(44); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '=') ADVANCE(44); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_CARET); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(43); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_POUND); + END_STATE(); + case 73: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 77: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 78: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 79: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 80: + ACCEPT_TOKEN(anon_sym_DASH_GT); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_AMP); + END_STATE(); + case 82: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); + case 84: + ACCEPT_TOKEN(sym_number); + if (lookahead == '.') ADVANCE(86); + if (lookahead == 'B' || + lookahead == 'b') ADVANCE(87); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(15); + if (lookahead == 'X' || + lookahead == 'x') ADVANCE(89); + if (lookahead == '_') ADVANCE(84); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(85); + END_STATE(); + case 85: + ACCEPT_TOKEN(sym_number); + if (lookahead == '.') ADVANCE(86); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(15); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(85); + END_STATE(); + case 86: + ACCEPT_TOKEN(sym_number); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(15); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(86); + END_STATE(); + case 87: + ACCEPT_TOKEN(sym_number); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(87); + END_STATE(); + case 88: + ACCEPT_TOKEN(sym_number); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(88); + END_STATE(); + case 89: + ACCEPT_TOKEN(sym_number); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(89); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_name); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(90); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (lookahead == 'a') ADVANCE(1); + if (lookahead == 'b') ADVANCE(2); + if (lookahead == 'c') ADVANCE(3); + if (lookahead == 'd') ADVANCE(4); + if (lookahead == 'e') ADVANCE(5); + if (lookahead == 'f') ADVANCE(6); + if (lookahead == 'i') ADVANCE(7); + if (lookahead == 'l') ADVANCE(8); + if (lookahead == 'n') ADVANCE(9); + if (lookahead == 'o') ADVANCE(10); + if (lookahead == 'r') ADVANCE(11); + if (lookahead == 't') ADVANCE(12); + if (lookahead == 'u') ADVANCE(13); + if (lookahead == 'w') ADVANCE(14); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(0) + END_STATE(); + case 1: + if (lookahead == 'n') ADVANCE(15); + END_STATE(); + case 2: + if (lookahead == 'r') ADVANCE(16); + END_STATE(); + case 3: + if (lookahead == 'o') ADVANCE(17); + END_STATE(); + case 4: + if (lookahead == 'o') ADVANCE(18); + END_STATE(); + case 5: + if (lookahead == 'l') ADVANCE(19); + if (lookahead == 'n') ADVANCE(20); + if (lookahead == 'x') ADVANCE(21); + END_STATE(); + case 6: + if (lookahead == 'a') ADVANCE(22); + if (lookahead == 'o') ADVANCE(23); + if (lookahead == 'u') ADVANCE(24); + END_STATE(); + case 7: + if (lookahead == 'f') ADVANCE(25); + if (lookahead == 'n') ADVANCE(26); + END_STATE(); + case 8: + if (lookahead == 'o') ADVANCE(27); + END_STATE(); + case 9: + if (lookahead == 'i') ADVANCE(28); + if (lookahead == 'o') ADVANCE(29); + END_STATE(); + case 10: + if (lookahead == 'r') ADVANCE(30); + END_STATE(); + case 11: + if (lookahead == 'e') ADVANCE(31); + END_STATE(); + case 12: + if (lookahead == 'h') ADVANCE(32); + if (lookahead == 'r') ADVANCE(33); + if (lookahead == 'y') ADVANCE(34); + END_STATE(); + case 13: + if (lookahead == 'n') ADVANCE(35); + END_STATE(); + case 14: + if (lookahead == 'h') ADVANCE(36); + END_STATE(); + case 15: + if (lookahead == 'd') ADVANCE(37); + END_STATE(); + case 16: + if (lookahead == 'e') ADVANCE(38); + END_STATE(); + case 17: + if (lookahead == 'n') ADVANCE(39); + END_STATE(); + case 18: + ACCEPT_TOKEN(anon_sym_do); + END_STATE(); + case 19: + if (lookahead == 's') ADVANCE(40); + END_STATE(); + case 20: + if (lookahead == 'd') ADVANCE(41); + END_STATE(); + case 21: + if (lookahead == 'p') ADVANCE(42); + END_STATE(); + case 22: + if (lookahead == 'l') ADVANCE(43); + END_STATE(); + case 23: + if (lookahead == 'r') ADVANCE(44); + END_STATE(); + case 24: + if (lookahead == 'n') ADVANCE(45); + END_STATE(); + case 25: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 26: + ACCEPT_TOKEN(anon_sym_in); + END_STATE(); + case 27: + if (lookahead == 'c') ADVANCE(46); + END_STATE(); + case 28: + if (lookahead == 'l') ADVANCE(47); + END_STATE(); + case 29: + if (lookahead == 't') ADVANCE(48); + END_STATE(); + case 30: + ACCEPT_TOKEN(anon_sym_or); + END_STATE(); + case 31: + if (lookahead == 'p') ADVANCE(49); + if (lookahead == 't') ADVANCE(50); + END_STATE(); + case 32: + if (lookahead == 'e') ADVANCE(51); + END_STATE(); + case 33: + if (lookahead == 'u') ADVANCE(52); + END_STATE(); + case 34: + if (lookahead == 'p') ADVANCE(53); + END_STATE(); + case 35: + if (lookahead == 't') ADVANCE(54); + END_STATE(); + case 36: + if (lookahead == 'i') ADVANCE(55); + END_STATE(); + case 37: + ACCEPT_TOKEN(anon_sym_and); + END_STATE(); + case 38: + if (lookahead == 'a') ADVANCE(56); + END_STATE(); + case 39: + if (lookahead == 't') ADVANCE(57); + END_STATE(); + case 40: + if (lookahead == 'e') ADVANCE(58); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_end); + END_STATE(); + case 42: + if (lookahead == 'o') ADVANCE(59); + END_STATE(); + case 43: + if (lookahead == 's') ADVANCE(60); + END_STATE(); + case 44: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 45: + if (lookahead == 'c') ADVANCE(61); + END_STATE(); + case 46: + if (lookahead == 'a') ADVANCE(62); + END_STATE(); + case 47: + ACCEPT_TOKEN(sym_nil); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_not); + END_STATE(); + case 49: + if (lookahead == 'e') ADVANCE(63); + END_STATE(); + case 50: + if (lookahead == 'u') ADVANCE(64); + END_STATE(); + case 51: + if (lookahead == 'n') ADVANCE(65); + END_STATE(); + case 52: + if (lookahead == 'e') ADVANCE(66); + END_STATE(); + case 53: + if (lookahead == 'e') ADVANCE(67); + END_STATE(); + case 54: + if (lookahead == 'i') ADVANCE(68); + END_STATE(); + case 55: + if (lookahead == 'l') ADVANCE(69); + END_STATE(); + case 56: + if (lookahead == 'k') ADVANCE(70); + END_STATE(); + case 57: + if (lookahead == 'i') ADVANCE(71); + END_STATE(); + case 58: + ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 'i') ADVANCE(72); + END_STATE(); + case 59: + if (lookahead == 'r') ADVANCE(73); + END_STATE(); + case 60: + if (lookahead == 'e') ADVANCE(74); + END_STATE(); + case 61: + if (lookahead == 't') ADVANCE(75); + END_STATE(); + case 62: + if (lookahead == 'l') ADVANCE(76); + END_STATE(); + case 63: + if (lookahead == 'a') ADVANCE(77); + END_STATE(); + case 64: + if (lookahead == 'r') ADVANCE(78); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_then); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_true); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_type); + if (lookahead == 'o') ADVANCE(79); + END_STATE(); + case 68: + if (lookahead == 'l') ADVANCE(80); + END_STATE(); + case 69: + if (lookahead == 'e') ADVANCE(81); + END_STATE(); + case 70: + ACCEPT_TOKEN(sym_break_stmt); + END_STATE(); + case 71: + if (lookahead == 'n') ADVANCE(82); + END_STATE(); + case 72: + if (lookahead == 'f') ADVANCE(83); + END_STATE(); + case 73: + if (lookahead == 't') ADVANCE(84); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 75: + if (lookahead == 'i') ADVANCE(85); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_local); + END_STATE(); + case 77: + if (lookahead == 't') ADVANCE(86); + END_STATE(); + case 78: + if (lookahead == 'n') ADVANCE(87); + END_STATE(); + case 79: + if (lookahead == 'f') ADVANCE(88); + END_STATE(); + case 80: + ACCEPT_TOKEN(anon_sym_until); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 82: + if (lookahead == 'u') ADVANCE(89); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_elseif); + END_STATE(); + case 84: + ACCEPT_TOKEN(anon_sym_export); + END_STATE(); + case 85: + if (lookahead == 'o') ADVANCE(90); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_repeat); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 88: + ACCEPT_TOKEN(anon_sym_typeof); + END_STATE(); + case 89: + if (lookahead == 'e') ADVANCE(91); + END_STATE(); + case 90: + if (lookahead == 'n') ADVANCE(92); + END_STATE(); + case 91: + ACCEPT_TOKEN(sym_continue_stmt); + END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_function); + END_STATE(); + default: + return false; + } +} + +static const TSLexMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 0, .external_lex_state = 2}, + [2] = {.lex_state = 18, .external_lex_state = 3}, + [3] = {.lex_state = 18, .external_lex_state = 3}, + [4] = {.lex_state = 18, .external_lex_state = 3}, + [5] = {.lex_state = 18, .external_lex_state = 3}, + [6] = {.lex_state = 18, .external_lex_state = 3}, + [7] = {.lex_state = 18, .external_lex_state = 3}, + [8] = {.lex_state = 18, .external_lex_state = 3}, + [9] = {.lex_state = 18, .external_lex_state = 3}, + [10] = {.lex_state = 18, .external_lex_state = 3}, + [11] = {.lex_state = 18, .external_lex_state = 3}, + [12] = {.lex_state = 19, .external_lex_state = 3}, + [13] = {.lex_state = 20, .external_lex_state = 2}, + [14] = {.lex_state = 19, .external_lex_state = 2}, + [15] = {.lex_state = 19, .external_lex_state = 2}, + [16] = {.lex_state = 19, .external_lex_state = 2}, + [17] = {.lex_state = 19, .external_lex_state = 2}, + [18] = {.lex_state = 19, .external_lex_state = 3}, + [19] = {.lex_state = 19, .external_lex_state = 3}, + [20] = {.lex_state = 19, .external_lex_state = 2}, + [21] = {.lex_state = 19, .external_lex_state = 2}, + [22] = {.lex_state = 19, .external_lex_state = 3}, + [23] = {.lex_state = 19, .external_lex_state = 2}, + [24] = {.lex_state = 19, .external_lex_state = 2}, + [25] = {.lex_state = 19, .external_lex_state = 2}, + [26] = {.lex_state = 19, .external_lex_state = 3}, + [27] = {.lex_state = 19, .external_lex_state = 2}, + [28] = {.lex_state = 19, .external_lex_state = 2}, + [29] = {.lex_state = 19, .external_lex_state = 2}, + [30] = {.lex_state = 19, .external_lex_state = 3}, + [31] = {.lex_state = 19, .external_lex_state = 2}, + [32] = {.lex_state = 19, .external_lex_state = 2}, + [33] = {.lex_state = 19, .external_lex_state = 2}, + [34] = {.lex_state = 19, .external_lex_state = 3}, + [35] = {.lex_state = 19, .external_lex_state = 3}, + [36] = {.lex_state = 19, .external_lex_state = 2}, + [37] = {.lex_state = 19, .external_lex_state = 3}, + [38] = {.lex_state = 19, .external_lex_state = 2}, + [39] = {.lex_state = 19, .external_lex_state = 2}, + [40] = {.lex_state = 19, .external_lex_state = 2}, + [41] = {.lex_state = 19, .external_lex_state = 2}, + [42] = {.lex_state = 19, .external_lex_state = 3}, + [43] = {.lex_state = 19, .external_lex_state = 2}, + [44] = {.lex_state = 19, .external_lex_state = 3}, + [45] = {.lex_state = 19, .external_lex_state = 2}, + [46] = {.lex_state = 19, .external_lex_state = 3}, + [47] = {.lex_state = 19, .external_lex_state = 2}, + [48] = {.lex_state = 19, .external_lex_state = 2}, + [49] = {.lex_state = 19, .external_lex_state = 2}, + [50] = {.lex_state = 19, .external_lex_state = 2}, + [51] = {.lex_state = 0, .external_lex_state = 2}, + [52] = {.lex_state = 19, .external_lex_state = 2}, + [53] = {.lex_state = 19, .external_lex_state = 2}, + [54] = {.lex_state = 19, .external_lex_state = 2}, + [55] = {.lex_state = 0, .external_lex_state = 2}, + [56] = {.lex_state = 0, .external_lex_state = 2}, + [57] = {.lex_state = 0, .external_lex_state = 2}, + [58] = {.lex_state = 0, .external_lex_state = 2}, + [59] = {.lex_state = 19, .external_lex_state = 2}, + [60] = {.lex_state = 0, .external_lex_state = 2}, + [61] = {.lex_state = 0, .external_lex_state = 2}, + [62] = {.lex_state = 0, .external_lex_state = 2}, + [63] = {.lex_state = 0, .external_lex_state = 2}, + [64] = {.lex_state = 19, .external_lex_state = 2}, + [65] = {.lex_state = 19, .external_lex_state = 2}, + [66] = {.lex_state = 19, .external_lex_state = 2}, + [67] = {.lex_state = 19, .external_lex_state = 2}, + [68] = {.lex_state = 19, .external_lex_state = 2}, + [69] = {.lex_state = 19, .external_lex_state = 2}, + [70] = {.lex_state = 0, .external_lex_state = 2}, + [71] = {.lex_state = 19, .external_lex_state = 2}, + [72] = {.lex_state = 19, .external_lex_state = 2}, + [73] = {.lex_state = 19, .external_lex_state = 2}, + [74] = {.lex_state = 19, .external_lex_state = 2}, + [75] = {.lex_state = 19, .external_lex_state = 2}, + [76] = {.lex_state = 19, .external_lex_state = 2}, + [77] = {.lex_state = 19, .external_lex_state = 2}, + [78] = {.lex_state = 19, .external_lex_state = 2}, + [79] = {.lex_state = 19, .external_lex_state = 2}, + [80] = {.lex_state = 19, .external_lex_state = 2}, + [81] = {.lex_state = 19, .external_lex_state = 2}, + [82] = {.lex_state = 19, .external_lex_state = 2}, + [83] = {.lex_state = 0, .external_lex_state = 2}, + [84] = {.lex_state = 19, .external_lex_state = 2}, + [85] = {.lex_state = 19, .external_lex_state = 2}, + [86] = {.lex_state = 19, .external_lex_state = 2}, + [87] = {.lex_state = 19, .external_lex_state = 2}, + [88] = {.lex_state = 19, .external_lex_state = 2}, + [89] = {.lex_state = 19, .external_lex_state = 2}, + [90] = {.lex_state = 19, .external_lex_state = 2}, + [91] = {.lex_state = 19, .external_lex_state = 2}, + [92] = {.lex_state = 19, .external_lex_state = 2}, + [93] = {.lex_state = 19, .external_lex_state = 2}, + [94] = {.lex_state = 19, .external_lex_state = 2}, + [95] = {.lex_state = 19, .external_lex_state = 2}, + [96] = {.lex_state = 19, .external_lex_state = 2}, + [97] = {.lex_state = 19, .external_lex_state = 2}, + [98] = {.lex_state = 0, .external_lex_state = 2}, + [99] = {.lex_state = 0, .external_lex_state = 2}, + [100] = {.lex_state = 0, .external_lex_state = 2}, + [101] = {.lex_state = 0, .external_lex_state = 2}, + [102] = {.lex_state = 0, .external_lex_state = 2}, + [103] = {.lex_state = 0, .external_lex_state = 2}, + [104] = {.lex_state = 0, .external_lex_state = 2}, + [105] = {.lex_state = 0, .external_lex_state = 2}, + [106] = {.lex_state = 0, .external_lex_state = 2}, + [107] = {.lex_state = 0, .external_lex_state = 2}, + [108] = {.lex_state = 0, .external_lex_state = 2}, + [109] = {.lex_state = 0, .external_lex_state = 2}, + [110] = {.lex_state = 0, .external_lex_state = 2}, + [111] = {.lex_state = 17, .external_lex_state = 4}, + [112] = {.lex_state = 0, .external_lex_state = 2}, + [113] = {.lex_state = 0, .external_lex_state = 2}, + [114] = {.lex_state = 19, .external_lex_state = 2}, + [115] = {.lex_state = 0, .external_lex_state = 2}, + [116] = {.lex_state = 0, .external_lex_state = 2}, + [117] = {.lex_state = 0, .external_lex_state = 2}, + [118] = {.lex_state = 0, .external_lex_state = 2}, + [119] = {.lex_state = 0, .external_lex_state = 2}, + [120] = {.lex_state = 0, .external_lex_state = 2}, + [121] = {.lex_state = 0, .external_lex_state = 2}, + [122] = {.lex_state = 0, .external_lex_state = 2}, + [123] = {.lex_state = 0, .external_lex_state = 2}, + [124] = {.lex_state = 19, .external_lex_state = 2}, + [125] = {.lex_state = 17, .external_lex_state = 4}, + [126] = {.lex_state = 17, .external_lex_state = 4}, + [127] = {.lex_state = 19, .external_lex_state = 2}, + [128] = {.lex_state = 17, .external_lex_state = 4}, + [129] = {.lex_state = 17, .external_lex_state = 4}, + [130] = {.lex_state = 19, .external_lex_state = 2}, + [131] = {.lex_state = 17, .external_lex_state = 4}, + [132] = {.lex_state = 17, .external_lex_state = 4}, + [133] = {.lex_state = 19, .external_lex_state = 2}, + [134] = {.lex_state = 17, .external_lex_state = 4}, + [135] = {.lex_state = 17, .external_lex_state = 4}, + [136] = {.lex_state = 17, .external_lex_state = 4}, + [137] = {.lex_state = 0, .external_lex_state = 3}, + [138] = {.lex_state = 17, .external_lex_state = 5}, + [139] = {.lex_state = 17, .external_lex_state = 4}, + [140] = {.lex_state = 0, .external_lex_state = 3}, + [141] = {.lex_state = 17, .external_lex_state = 4}, + [142] = {.lex_state = 0, .external_lex_state = 3}, + [143] = {.lex_state = 17, .external_lex_state = 4}, + [144] = {.lex_state = 17, .external_lex_state = 4}, + [145] = {.lex_state = 17, .external_lex_state = 4}, + [146] = {.lex_state = 17, .external_lex_state = 4}, + [147] = {.lex_state = 17, .external_lex_state = 4}, + [148] = {.lex_state = 17, .external_lex_state = 4}, + [149] = {.lex_state = 17, .external_lex_state = 4}, + [150] = {.lex_state = 17, .external_lex_state = 4}, + [151] = {.lex_state = 17, .external_lex_state = 4}, + [152] = {.lex_state = 17, .external_lex_state = 4}, + [153] = {.lex_state = 17, .external_lex_state = 4}, + [154] = {.lex_state = 17, .external_lex_state = 4}, + [155] = {.lex_state = 17, .external_lex_state = 4}, + [156] = {.lex_state = 17, .external_lex_state = 4}, + [157] = {.lex_state = 17, .external_lex_state = 4}, + [158] = {.lex_state = 17, .external_lex_state = 4}, + [159] = {.lex_state = 17, .external_lex_state = 4}, + [160] = {.lex_state = 17, .external_lex_state = 4}, + [161] = {.lex_state = 17, .external_lex_state = 4}, + [162] = {.lex_state = 17, .external_lex_state = 4}, + [163] = {.lex_state = 17, .external_lex_state = 4}, + [164] = {.lex_state = 17, .external_lex_state = 4}, + [165] = {.lex_state = 17, .external_lex_state = 4}, + [166] = {.lex_state = 17, .external_lex_state = 4}, + [167] = {.lex_state = 17, .external_lex_state = 4}, + [168] = {.lex_state = 17, .external_lex_state = 4}, + [169] = {.lex_state = 17, .external_lex_state = 4}, + [170] = {.lex_state = 17, .external_lex_state = 4}, + [171] = {.lex_state = 17, .external_lex_state = 4}, + [172] = {.lex_state = 17, .external_lex_state = 4}, + [173] = {.lex_state = 17, .external_lex_state = 4}, + [174] = {.lex_state = 17, .external_lex_state = 4}, + [175] = {.lex_state = 17, .external_lex_state = 4}, + [176] = {.lex_state = 17, .external_lex_state = 4}, + [177] = {.lex_state = 17, .external_lex_state = 4}, + [178] = {.lex_state = 17, .external_lex_state = 4}, + [179] = {.lex_state = 17, .external_lex_state = 4}, + [180] = {.lex_state = 17, .external_lex_state = 4}, + [181] = {.lex_state = 17, .external_lex_state = 4}, + [182] = {.lex_state = 17, .external_lex_state = 4}, + [183] = {.lex_state = 17, .external_lex_state = 4}, + [184] = {.lex_state = 17, .external_lex_state = 4}, + [185] = {.lex_state = 17, .external_lex_state = 4}, + [186] = {.lex_state = 17, .external_lex_state = 4}, + [187] = {.lex_state = 17, .external_lex_state = 4}, + [188] = {.lex_state = 17, .external_lex_state = 4}, + [189] = {.lex_state = 17, .external_lex_state = 4}, + [190] = {.lex_state = 0, .external_lex_state = 3}, + [191] = {.lex_state = 0, .external_lex_state = 3}, + [192] = {.lex_state = 0, .external_lex_state = 3}, + [193] = {.lex_state = 0, .external_lex_state = 3}, + [194] = {.lex_state = 0, .external_lex_state = 3}, + [195] = {.lex_state = 0, .external_lex_state = 3}, + [196] = {.lex_state = 0, .external_lex_state = 3}, + [197] = {.lex_state = 0, .external_lex_state = 3}, + [198] = {.lex_state = 0, .external_lex_state = 3}, + [199] = {.lex_state = 0, .external_lex_state = 3}, + [200] = {.lex_state = 0, .external_lex_state = 3}, + [201] = {.lex_state = 0, .external_lex_state = 3}, + [202] = {.lex_state = 0, .external_lex_state = 3}, + [203] = {.lex_state = 0, .external_lex_state = 3}, + [204] = {.lex_state = 0, .external_lex_state = 3}, + [205] = {.lex_state = 0, .external_lex_state = 3}, + [206] = {.lex_state = 0, .external_lex_state = 3}, + [207] = {.lex_state = 0, .external_lex_state = 3}, + [208] = {.lex_state = 0, .external_lex_state = 3}, + [209] = {.lex_state = 0, .external_lex_state = 3}, + [210] = {.lex_state = 0, .external_lex_state = 3}, + [211] = {.lex_state = 0, .external_lex_state = 3}, + [212] = {.lex_state = 17, .external_lex_state = 2}, + [213] = {.lex_state = 0, .external_lex_state = 3}, + [214] = {.lex_state = 0, .external_lex_state = 3}, + [215] = {.lex_state = 0, .external_lex_state = 3}, + [216] = {.lex_state = 0, .external_lex_state = 3}, + [217] = {.lex_state = 0, .external_lex_state = 3}, + [218] = {.lex_state = 0, .external_lex_state = 3}, + [219] = {.lex_state = 0, .external_lex_state = 3}, + [220] = {.lex_state = 0, .external_lex_state = 3}, + [221] = {.lex_state = 0, .external_lex_state = 3}, + [222] = {.lex_state = 0, .external_lex_state = 3}, + [223] = {.lex_state = 0, .external_lex_state = 2}, + [224] = {.lex_state = 19, .external_lex_state = 3}, + [225] = {.lex_state = 0, .external_lex_state = 2}, + [226] = {.lex_state = 0, .external_lex_state = 2}, + [227] = {.lex_state = 0, .external_lex_state = 2}, + [228] = {.lex_state = 18, .external_lex_state = 3}, + [229] = {.lex_state = 0, .external_lex_state = 3}, + [230] = {.lex_state = 0, .external_lex_state = 2}, + [231] = {.lex_state = 19, .external_lex_state = 6}, + [232] = {.lex_state = 19, .external_lex_state = 6}, + [233] = {.lex_state = 19, .external_lex_state = 6}, + [234] = {.lex_state = 0, .external_lex_state = 3}, + [235] = {.lex_state = 0, .external_lex_state = 2}, + [236] = {.lex_state = 0, .external_lex_state = 3}, + [237] = {.lex_state = 19, .external_lex_state = 6}, + [238] = {.lex_state = 19, .external_lex_state = 6}, + [239] = {.lex_state = 0, .external_lex_state = 2}, + [240] = {.lex_state = 0, .external_lex_state = 2}, + [241] = {.lex_state = 19, .external_lex_state = 6}, + [242] = {.lex_state = 19, .external_lex_state = 6}, + [243] = {.lex_state = 19, .external_lex_state = 6}, + [244] = {.lex_state = 19, .external_lex_state = 6}, + [245] = {.lex_state = 19, .external_lex_state = 6}, + [246] = {.lex_state = 19, .external_lex_state = 6}, + [247] = {.lex_state = 19, .external_lex_state = 6}, + [248] = {.lex_state = 19, .external_lex_state = 6}, + [249] = {.lex_state = 19, .external_lex_state = 6}, + [250] = {.lex_state = 19, .external_lex_state = 6}, + [251] = {.lex_state = 19, .external_lex_state = 6}, + [252] = {.lex_state = 19, .external_lex_state = 6}, + [253] = {.lex_state = 19, .external_lex_state = 6}, + [254] = {.lex_state = 19, .external_lex_state = 6}, + [255] = {.lex_state = 19, .external_lex_state = 6}, + [256] = {.lex_state = 19, .external_lex_state = 6}, + [257] = {.lex_state = 0, .external_lex_state = 2}, + [258] = {.lex_state = 0, .external_lex_state = 2}, + [259] = {.lex_state = 0, .external_lex_state = 2}, + [260] = {.lex_state = 0, .external_lex_state = 2}, + [261] = {.lex_state = 0, .external_lex_state = 2}, + [262] = {.lex_state = 0, .external_lex_state = 2}, + [263] = {.lex_state = 0, .external_lex_state = 2}, + [264] = {.lex_state = 20, .external_lex_state = 7}, + [265] = {.lex_state = 0, .external_lex_state = 2}, + [266] = {.lex_state = 0, .external_lex_state = 3}, + [267] = {.lex_state = 0, .external_lex_state = 3}, + [268] = {.lex_state = 0, .external_lex_state = 3}, + [269] = {.lex_state = 0, .external_lex_state = 3}, + [270] = {.lex_state = 19, .external_lex_state = 7}, + [271] = {.lex_state = 0, .external_lex_state = 3}, + [272] = {.lex_state = 0, .external_lex_state = 3}, + [273] = {.lex_state = 0, .external_lex_state = 3}, + [274] = {.lex_state = 19, .external_lex_state = 7}, + [275] = {.lex_state = 0, .external_lex_state = 3}, + [276] = {.lex_state = 0, .external_lex_state = 3}, + [277] = {.lex_state = 0, .external_lex_state = 3}, + [278] = {.lex_state = 0, .external_lex_state = 3}, + [279] = {.lex_state = 0, .external_lex_state = 3}, + [280] = {.lex_state = 0, .external_lex_state = 3}, + [281] = {.lex_state = 0, .external_lex_state = 3}, + [282] = {.lex_state = 0, .external_lex_state = 3}, + [283] = {.lex_state = 0, .external_lex_state = 3}, + [284] = {.lex_state = 0, .external_lex_state = 3}, + [285] = {.lex_state = 0, .external_lex_state = 3}, + [286] = {.lex_state = 0, .external_lex_state = 3}, + [287] = {.lex_state = 19, .external_lex_state = 6}, + [288] = {.lex_state = 0, .external_lex_state = 3}, + [289] = {.lex_state = 0, .external_lex_state = 3}, + [290] = {.lex_state = 0, .external_lex_state = 3}, + [291] = {.lex_state = 0, .external_lex_state = 3}, + [292] = {.lex_state = 0, .external_lex_state = 3}, + [293] = {.lex_state = 0, .external_lex_state = 3}, + [294] = {.lex_state = 0, .external_lex_state = 3}, + [295] = {.lex_state = 0, .external_lex_state = 3}, + [296] = {.lex_state = 19, .external_lex_state = 7}, + [297] = {.lex_state = 19, .external_lex_state = 7}, + [298] = {.lex_state = 19, .external_lex_state = 7}, + [299] = {.lex_state = 19, .external_lex_state = 7}, + [300] = {.lex_state = 19, .external_lex_state = 7}, + [301] = {.lex_state = 19, .external_lex_state = 7}, + [302] = {.lex_state = 19, .external_lex_state = 7}, + [303] = {.lex_state = 19, .external_lex_state = 7}, + [304] = {.lex_state = 19, .external_lex_state = 2}, + [305] = {.lex_state = 19, .external_lex_state = 7}, + [306] = {.lex_state = 19, .external_lex_state = 7}, + [307] = {.lex_state = 19, .external_lex_state = 7}, + [308] = {.lex_state = 19, .external_lex_state = 7}, + [309] = {.lex_state = 19, .external_lex_state = 7}, + [310] = {.lex_state = 19, .external_lex_state = 2}, + [311] = {.lex_state = 19, .external_lex_state = 7}, + [312] = {.lex_state = 19, .external_lex_state = 7}, + [313] = {.lex_state = 19, .external_lex_state = 7}, + [314] = {.lex_state = 19, .external_lex_state = 7}, + [315] = {.lex_state = 19, .external_lex_state = 7}, + [316] = {.lex_state = 19, .external_lex_state = 7}, + [317] = {.lex_state = 19, .external_lex_state = 7}, + [318] = {.lex_state = 19, .external_lex_state = 7}, + [319] = {.lex_state = 19, .external_lex_state = 7}, + [320] = {.lex_state = 19, .external_lex_state = 7}, + [321] = {.lex_state = 0, .external_lex_state = 2}, + [322] = {.lex_state = 19, .external_lex_state = 7}, + [323] = {.lex_state = 19, .external_lex_state = 7}, + [324] = {.lex_state = 19, .external_lex_state = 7}, + [325] = {.lex_state = 0, .external_lex_state = 2}, + [326] = {.lex_state = 0, .external_lex_state = 2}, + [327] = {.lex_state = 0, .external_lex_state = 2}, + [328] = {.lex_state = 19, .external_lex_state = 2}, + [329] = {.lex_state = 0, .external_lex_state = 2}, + [330] = {.lex_state = 0, .external_lex_state = 2}, + [331] = {.lex_state = 0, .external_lex_state = 2}, + [332] = {.lex_state = 0, .external_lex_state = 2}, + [333] = {.lex_state = 0, .external_lex_state = 2}, + [334] = {.lex_state = 0, .external_lex_state = 2}, + [335] = {.lex_state = 0, .external_lex_state = 2}, + [336] = {.lex_state = 19, .external_lex_state = 2}, + [337] = {.lex_state = 0, .external_lex_state = 2}, + [338] = {.lex_state = 0, .external_lex_state = 2}, + [339] = {.lex_state = 0, .external_lex_state = 2}, + [340] = {.lex_state = 0, .external_lex_state = 2}, + [341] = {.lex_state = 19, .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 = 0, .external_lex_state = 2}, + [346] = {.lex_state = 0, .external_lex_state = 2}, + [347] = {.lex_state = 19, .external_lex_state = 7}, + [348] = {.lex_state = 0, .external_lex_state = 2}, + [349] = {.lex_state = 0, .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 = 19, .external_lex_state = 2}, + [355] = {.lex_state = 0, .external_lex_state = 2}, + [356] = {.lex_state = 19, .external_lex_state = 2}, + [357] = {.lex_state = 19, .external_lex_state = 7}, + [358] = {.lex_state = 19, .external_lex_state = 7}, + [359] = {.lex_state = 19, .external_lex_state = 7}, + [360] = {.lex_state = 19, .external_lex_state = 7}, + [361] = {.lex_state = 19, .external_lex_state = 7}, + [362] = {.lex_state = 19, .external_lex_state = 7}, + [363] = {.lex_state = 19, .external_lex_state = 2}, + [364] = {.lex_state = 19, .external_lex_state = 7}, + [365] = {.lex_state = 19, .external_lex_state = 7}, + [366] = {.lex_state = 19, .external_lex_state = 7}, + [367] = {.lex_state = 19, .external_lex_state = 2}, + [368] = {.lex_state = 19, .external_lex_state = 7}, + [369] = {.lex_state = 19, .external_lex_state = 7}, + [370] = {.lex_state = 19, .external_lex_state = 7}, + [371] = {.lex_state = 19, .external_lex_state = 2}, + [372] = {.lex_state = 19, .external_lex_state = 7}, + [373] = {.lex_state = 19, .external_lex_state = 2}, + [374] = {.lex_state = 19, .external_lex_state = 7}, + [375] = {.lex_state = 19, .external_lex_state = 7}, + [376] = {.lex_state = 19, .external_lex_state = 7}, + [377] = {.lex_state = 19, .external_lex_state = 2}, + [378] = {.lex_state = 19, .external_lex_state = 7}, + [379] = {.lex_state = 19, .external_lex_state = 7}, + [380] = {.lex_state = 19, .external_lex_state = 7}, + [381] = {.lex_state = 19, .external_lex_state = 7}, + [382] = {.lex_state = 19, .external_lex_state = 7}, + [383] = {.lex_state = 19, .external_lex_state = 7}, + [384] = {.lex_state = 19, .external_lex_state = 7}, + [385] = {.lex_state = 19, .external_lex_state = 7}, + [386] = {.lex_state = 19, .external_lex_state = 7}, + [387] = {.lex_state = 19, .external_lex_state = 2}, + [388] = {.lex_state = 19, .external_lex_state = 7}, + [389] = {.lex_state = 19, .external_lex_state = 7}, + [390] = {.lex_state = 19, .external_lex_state = 2}, + [391] = {.lex_state = 19, .external_lex_state = 2}, + [392] = {.lex_state = 19, .external_lex_state = 2}, + [393] = {.lex_state = 19, .external_lex_state = 2}, + [394] = {.lex_state = 19, .external_lex_state = 2}, + [395] = {.lex_state = 19, .external_lex_state = 2}, + [396] = {.lex_state = 19, .external_lex_state = 7}, + [397] = {.lex_state = 19, .external_lex_state = 7}, + [398] = {.lex_state = 19, .external_lex_state = 7}, + [399] = {.lex_state = 19, .external_lex_state = 2}, + [400] = {.lex_state = 19, .external_lex_state = 2}, + [401] = {.lex_state = 19, .external_lex_state = 2}, + [402] = {.lex_state = 19, .external_lex_state = 7}, + [403] = {.lex_state = 19, .external_lex_state = 7}, + [404] = {.lex_state = 19, .external_lex_state = 2}, + [405] = {.lex_state = 19, .external_lex_state = 7}, + [406] = {.lex_state = 19, .external_lex_state = 7}, + [407] = {.lex_state = 2, .external_lex_state = 3}, + [408] = {.lex_state = 2, .external_lex_state = 3}, + [409] = {.lex_state = 2, .external_lex_state = 3}, + [410] = {.lex_state = 17, .external_lex_state = 4}, + [411] = {.lex_state = 0, .external_lex_state = 3}, + [412] = {.lex_state = 0, .external_lex_state = 3}, + [413] = {.lex_state = 0, .external_lex_state = 2}, + [414] = {.lex_state = 20, .external_lex_state = 2}, + [415] = {.lex_state = 0, .external_lex_state = 2}, + [416] = {.lex_state = 18, .external_lex_state = 2}, + [417] = {.lex_state = 2, .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 = 18, .external_lex_state = 2}, + [422] = {.lex_state = 18, .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 = 2, .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 = 17, .external_lex_state = 2}, + [431] = {.lex_state = 0, .external_lex_state = 3}, + [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 = 3}, + [436] = {.lex_state = 0, .external_lex_state = 3}, + [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 = 3}, + [448] = {.lex_state = 0, .external_lex_state = 3}, + [449] = {.lex_state = 17, .external_lex_state = 2}, + [450] = {.lex_state = 17, .external_lex_state = 2}, + [451] = {.lex_state = 0, .external_lex_state = 8}, + [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 = 8}, + [456] = {.lex_state = 0, .external_lex_state = 2}, + [457] = {.lex_state = 17, .external_lex_state = 2}, + [458] = {.lex_state = 0, .external_lex_state = 2}, + [459] = {.lex_state = 17, .external_lex_state = 2}, + [460] = {.lex_state = 17, .external_lex_state = 2}, + [461] = {.lex_state = 17, .external_lex_state = 2}, + [462] = {.lex_state = 0, .external_lex_state = 2}, + [463] = {.lex_state = 0, .external_lex_state = 2}, + [464] = {.lex_state = 17, .external_lex_state = 2}, + [465] = {.lex_state = 0, .external_lex_state = 2}, + [466] = {.lex_state = 0, .external_lex_state = 2}, + [467] = {.lex_state = 17, .external_lex_state = 2}, + [468] = {.lex_state = 17, .external_lex_state = 2}, + [469] = {.lex_state = 17, .external_lex_state = 2}, + [470] = {.lex_state = 17, .external_lex_state = 2}, + [471] = {.lex_state = 0, .external_lex_state = 2}, + [472] = {.lex_state = 17, .external_lex_state = 2}, + [473] = {.lex_state = 0, .external_lex_state = 2}, + [474] = {.lex_state = 0, .external_lex_state = 2}, + [475] = {.lex_state = 17, .external_lex_state = 2}, + [476] = {.lex_state = 17, .external_lex_state = 2}, + [477] = {.lex_state = 17, .external_lex_state = 2}, + [478] = {.lex_state = 17, .external_lex_state = 2}, + [479] = {.lex_state = 17, .external_lex_state = 2}, + [480] = {.lex_state = 17, .external_lex_state = 2}, + [481] = {.lex_state = 17, .external_lex_state = 2}, + [482] = {.lex_state = 0, .external_lex_state = 2}, + [483] = {.lex_state = 17, .external_lex_state = 2}, + [484] = {.lex_state = 17, .external_lex_state = 2}, + [485] = {.lex_state = 0, .external_lex_state = 8}, + [486] = {.lex_state = 17, .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 = 8}, + [490] = {.lex_state = 17, .external_lex_state = 2}, + [491] = {.lex_state = 0, .external_lex_state = 8}, + [492] = {.lex_state = 17, .external_lex_state = 2}, + [493] = {.lex_state = 0, .external_lex_state = 2}, + [494] = {.lex_state = 17, .external_lex_state = 2}, + [495] = {.lex_state = 17, .external_lex_state = 2}, + [496] = {.lex_state = 0, .external_lex_state = 2}, + [497] = {.lex_state = 0, .external_lex_state = 2}, + [498] = {.lex_state = 18, .external_lex_state = 2}, + [499] = {.lex_state = 0, .external_lex_state = 2}, + [500] = {.lex_state = 17, .external_lex_state = 2}, + [501] = {.lex_state = 17, .external_lex_state = 2}, + [502] = {.lex_state = 17, .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 = 18, .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 = 0, .external_lex_state = 2}, + [521] = {.lex_state = 0, .external_lex_state = 8}, + [522] = {.lex_state = 17, .external_lex_state = 2}, + [523] = {.lex_state = 0, .external_lex_state = 2}, + [524] = {.lex_state = 17, .external_lex_state = 2}, + [525] = {.lex_state = 17, .external_lex_state = 2}, + [526] = {.lex_state = 0, .external_lex_state = 2}, + [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 = 17, .external_lex_state = 2}, + [531] = {.lex_state = 17, .external_lex_state = 2}, + [532] = {.lex_state = 0, .external_lex_state = 2}, + [533] = {.lex_state = 0, .external_lex_state = 2}, + [534] = {.lex_state = 0, .external_lex_state = 3}, + [535] = {.lex_state = 17, .external_lex_state = 2}, + [536] = {.lex_state = 17, .external_lex_state = 2}, + [537] = {.lex_state = 0, .external_lex_state = 2}, + [538] = {.lex_state = 17, .external_lex_state = 2}, + [539] = {.lex_state = 0, .external_lex_state = 8}, + [540] = {.lex_state = 17, .external_lex_state = 2}, + [541] = {.lex_state = 17, .external_lex_state = 2}, + [542] = {.lex_state = 0, .external_lex_state = 2}, + [543] = {.lex_state = 0, .external_lex_state = 2}, + [544] = {.lex_state = 17, .external_lex_state = 2}, + [545] = {.lex_state = 0, .external_lex_state = 2}, + [546] = {.lex_state = 0, .external_lex_state = 2}, + [547] = {.lex_state = 17, .external_lex_state = 2}, + [548] = {.lex_state = 0, .external_lex_state = 2}, + [549] = {.lex_state = 0, .external_lex_state = 2}, + [550] = {.lex_state = 0, .external_lex_state = 2}, + [551] = {.lex_state = 0, .external_lex_state = 2}, + [552] = {.lex_state = 17, .external_lex_state = 2}, + [553] = {.lex_state = 0, .external_lex_state = 2}, + [554] = {.lex_state = 0, .external_lex_state = 3}, + [555] = {.lex_state = 0, .external_lex_state = 2}, + [556] = {.lex_state = 17, .external_lex_state = 2}, + [557] = {.lex_state = 0, .external_lex_state = 2}, + [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 = 17, .external_lex_state = 2}, + [562] = {.lex_state = 0, .external_lex_state = 8}, + [563] = {.lex_state = 17, .external_lex_state = 2}, + [564] = {.lex_state = 17, .external_lex_state = 2}, + [565] = {.lex_state = 0, .external_lex_state = 2}, + [566] = {.lex_state = 0, .external_lex_state = 2}, + [567] = {.lex_state = 0, .external_lex_state = 2}, + [568] = {.lex_state = 0, .external_lex_state = 9}, + [569] = {.lex_state = 0, .external_lex_state = 9}, + [570] = {.lex_state = 0, .external_lex_state = 2}, + [571] = {.lex_state = 0, .external_lex_state = 9}, + [572] = {.lex_state = 0, .external_lex_state = 2}, + [573] = {.lex_state = 0, .external_lex_state = 2}, + [574] = {.lex_state = 17, .external_lex_state = 2}, + [575] = {.lex_state = 0, .external_lex_state = 2}, + [576] = {.lex_state = 0, .external_lex_state = 2}, + [577] = {.lex_state = 0, .external_lex_state = 9}, + [578] = {.lex_state = 0, .external_lex_state = 2}, + [579] = {.lex_state = 0, .external_lex_state = 2}, + [580] = {.lex_state = 17, .external_lex_state = 2}, + [581] = {.lex_state = 17, .external_lex_state = 2}, + [582] = {.lex_state = 0, .external_lex_state = 2}, + [583] = {.lex_state = 17, .external_lex_state = 2}, + [584] = {.lex_state = 0, .external_lex_state = 2}, + [585] = {.lex_state = 17, .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 = 10}, + [589] = {.lex_state = 17, .external_lex_state = 2}, + [590] = {.lex_state = 17, .external_lex_state = 2}, + [591] = {.lex_state = 0, .external_lex_state = 9}, + [592] = {.lex_state = 17, .external_lex_state = 2}, + [593] = {.lex_state = 0, .external_lex_state = 2}, + [594] = {.lex_state = 0, .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 = 2}, + [600] = {.lex_state = 0, .external_lex_state = 2}, + [601] = {.lex_state = 0, .external_lex_state = 2}, + [602] = {.lex_state = 0, .external_lex_state = 2}, + [603] = {.lex_state = 0, .external_lex_state = 2}, + [604] = {.lex_state = 17, .external_lex_state = 2}, + [605] = {.lex_state = 17, .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 = 0, .external_lex_state = 2}, + [610] = {.lex_state = 0, .external_lex_state = 2}, + [611] = {.lex_state = 0, .external_lex_state = 11}, + [612] = {.lex_state = 17, .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 = 1, .external_lex_state = 2}, + [617] = {.lex_state = 0, .external_lex_state = 2}, + [618] = {.lex_state = 0, .external_lex_state = 2}, + [619] = {.lex_state = 0, .external_lex_state = 2}, + [620] = {.lex_state = 0, .external_lex_state = 2}, + [621] = {.lex_state = 0, .external_lex_state = 2}, + [622] = {.lex_state = 17, .external_lex_state = 2}, + [623] = {.lex_state = 0, .external_lex_state = 2}, + [624] = {.lex_state = 0, .external_lex_state = 2}, + [625] = {.lex_state = 0, .external_lex_state = 11}, + [626] = {.lex_state = 0, .external_lex_state = 2}, + [627] = {.lex_state = 0, .external_lex_state = 2}, + [628] = {.lex_state = 0, .external_lex_state = 2}, + [629] = {.lex_state = 0, .external_lex_state = 2}, + [630] = {.lex_state = 0, .external_lex_state = 2}, + [631] = {.lex_state = 17, .external_lex_state = 2}, + [632] = {.lex_state = 17, .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 = 17, .external_lex_state = 2}, + [640] = {.lex_state = 0, .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 = 17, .external_lex_state = 2}, + [650] = {.lex_state = 17, .external_lex_state = 2}, + [651] = {.lex_state = 0, .external_lex_state = 2}, + [652] = {.lex_state = 17, .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 = 0, .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 = 17, .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 = 11}, + [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 = 17, .external_lex_state = 2}, + [683] = {.lex_state = 0, .external_lex_state = 2}, + [684] = {.lex_state = 17, .external_lex_state = 2}, + [685] = {.lex_state = 17, .external_lex_state = 2}, + [686] = {.lex_state = 17, .external_lex_state = 2}, + [687] = {.lex_state = 0, .external_lex_state = 11}, + [688] = {.lex_state = 0, .external_lex_state = 2}, + [689] = {.lex_state = 0, .external_lex_state = 2}, + [690] = {.lex_state = 0, .external_lex_state = 11}, + [691] = {.lex_state = 0, .external_lex_state = 12}, + [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 = 0, .external_lex_state = 2}, + [700] = {.lex_state = 17, .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 = 1, .external_lex_state = 2}, + [707] = {.lex_state = 1, .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 = 17, .external_lex_state = 2}, + [716] = {(TSStateId)(-1)}, + [717] = {(TSStateId)(-1)}, +}; + +enum { + ts_external_token__comment_start = 0, + ts_external_token__comment_content = 1, + ts_external_token__comment_end = 2, + ts_external_token__string_start = 3, + ts_external_token__string_content = 4, + ts_external_token__string_end = 5, + ts_external_token_interp_start = 6, + ts_external_token_interp_content = 7, + ts_external_token_interp_brace_open = 8, + ts_external_token_interp_brace_close = 9, + ts_external_token_interp_end = 10, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token__comment_start] = sym__comment_start, + [ts_external_token__comment_content] = sym__comment_content, + [ts_external_token__comment_end] = sym__comment_end, + [ts_external_token__string_start] = sym__string_start, + [ts_external_token__string_content] = sym__string_content, + [ts_external_token__string_end] = sym__string_end, + [ts_external_token_interp_start] = sym_interp_start, + [ts_external_token_interp_content] = sym_interp_content, + [ts_external_token_interp_brace_open] = sym_interp_brace_open, + [ts_external_token_interp_brace_close] = sym_interp_brace_close, + [ts_external_token_interp_end] = sym_interp_end, +}; + +static const bool ts_external_scanner_states[13][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token__comment_start] = true, + [ts_external_token__comment_content] = true, + [ts_external_token__comment_end] = true, + [ts_external_token__string_start] = true, + [ts_external_token__string_content] = true, + [ts_external_token__string_end] = true, + [ts_external_token_interp_start] = true, + [ts_external_token_interp_content] = true, + [ts_external_token_interp_brace_open] = true, + [ts_external_token_interp_brace_close] = true, + [ts_external_token_interp_end] = true, + }, + [2] = { + [ts_external_token__comment_start] = true, + }, + [3] = { + [ts_external_token__comment_start] = true, + [ts_external_token__string_start] = true, + }, + [4] = { + [ts_external_token__comment_start] = true, + [ts_external_token__string_start] = true, + [ts_external_token_interp_start] = true, + }, + [5] = { + [ts_external_token__comment_start] = true, + [ts_external_token__string_start] = true, + [ts_external_token_interp_start] = true, + [ts_external_token_interp_brace_close] = true, + }, + [6] = { + [ts_external_token__comment_start] = true, + [ts_external_token__string_start] = true, + [ts_external_token_interp_brace_close] = true, + }, + [7] = { + [ts_external_token__comment_start] = true, + [ts_external_token_interp_brace_close] = true, + }, + [8] = { + [ts_external_token__comment_start] = true, + [ts_external_token_interp_content] = true, + [ts_external_token_interp_brace_open] = true, + [ts_external_token_interp_end] = true, + }, + [9] = { + [ts_external_token__comment_start] = true, + [ts_external_token__string_content] = true, + [ts_external_token__string_end] = true, + }, + [10] = { + [ts_external_token__comment_start] = true, + [ts_external_token__comment_content] = true, + [ts_external_token__comment_end] = true, + }, + [11] = { + [ts_external_token__comment_start] = true, + [ts_external_token__string_end] = true, + }, + [12] = { + [ts_external_token__comment_start] = true, + [ts_external_token__comment_end] = true, + }, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [0] = { + [sym_comment] = STATE(0), + [ts_builtin_sym_end] = ACTIONS(1), + [sym_name] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_local] = ACTIONS(1), + [anon_sym_function] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_in] = ACTIONS(1), + [anon_sym_do] = ACTIONS(1), + [anon_sym_end] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_then] = ACTIONS(1), + [anon_sym_elseif] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_repeat] = ACTIONS(1), + [anon_sym_until] = ACTIONS(1), + [anon_sym_while] = ACTIONS(1), + [sym_break_stmt] = ACTIONS(1), + [sym_continue_stmt] = ACTIONS(1), + [anon_sym_export] = ACTIONS(1), + [anon_sym_type] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_DOT_DOT_EQ] = ACTIONS(1), + [anon_sym_SLASH_SLASH_EQ] = ACTIONS(1), + [anon_sym_or] = ACTIONS(1), + [anon_sym_and] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_TILDE_EQ] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_DASH] = 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_COLON_COLON] = ACTIONS(1), + [anon_sym_not] = ACTIONS(1), + [anon_sym_POUND] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_typeof] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), + [sym_number] = ACTIONS(1), + [anon_sym_true] = ACTIONS(1), + [anon_sym_false] = ACTIONS(1), + [sym_nil] = ACTIONS(1), + [sym__comment_start] = ACTIONS(3), + [sym__comment_content] = ACTIONS(1), + [sym__comment_end] = ACTIONS(1), + [sym__string_start] = ACTIONS(1), + [sym__string_content] = ACTIONS(1), + [sym__string_end] = ACTIONS(1), + [sym_interp_start] = ACTIONS(1), + [sym_interp_content] = ACTIONS(1), + [sym_interp_brace_open] = ACTIONS(1), + [sym_interp_brace_close] = ACTIONS(1), + [sym_interp_end] = ACTIONS(1), + }, + [1] = { + [sym_chunk] = STATE(705), + [sym__block] = STATE(704), + [sym_ret_stmt] = STATE(466), + [sym_statement] = STATE(331), + [sym_local_fn_stmt] = STATE(330), + [sym_fn_stmt] = STATE(330), + [sym_for_in_stmt] = STATE(330), + [sym_for_range_stmt] = STATE(330), + [sym_if_stmt] = STATE(330), + [sym_repeat_stmt] = STATE(330), + [sym_while_stmt] = STATE(330), + [sym_do_stmt] = STATE(330), + [sym_local_var_stmt] = STATE(330), + [sym_var_stmt] = STATE(330), + [sym_assign_stmt] = STATE(330), + [sym__varlist] = STATE(699), + [sym_type_stmt] = STATE(330), + [sym_prefixexp] = STATE(575), + [sym__prefixexp] = STATE(435), + [sym_exp_wrap] = STATE(12), + [sym_call_stmt] = STATE(228), + [sym__tbl_method] = STATE(436), + [sym_var] = STATE(407), + [sym__tbl_var] = STATE(3), + [sym_comment] = STATE(1), + [aux_sym__block_repeat1] = STATE(83), + [ts_builtin_sym_end] = ACTIONS(5), + [sym_name] = ACTIONS(7), + [anon_sym_return] = ACTIONS(9), + [anon_sym_local] = ACTIONS(11), + [anon_sym_function] = ACTIONS(13), + [anon_sym_for] = ACTIONS(15), + [anon_sym_do] = ACTIONS(17), + [anon_sym_if] = ACTIONS(19), + [anon_sym_repeat] = ACTIONS(21), + [anon_sym_while] = ACTIONS(23), + [sym_break_stmt] = ACTIONS(25), + [sym_continue_stmt] = ACTIONS(25), + [anon_sym_export] = ACTIONS(27), + [anon_sym_type] = ACTIONS(29), + [anon_sym_LPAREN] = ACTIONS(31), + [sym__comment_start] = ACTIONS(3), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(37), 1, + anon_sym_DOT, + ACTIONS(39), 1, + anon_sym_LBRACK, + STATE(2), 1, + sym_comment, + STATE(4), 1, + sym__field_indexed, + STATE(10), 1, + sym__field_named, + ACTIONS(33), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(35), 32, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [77] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(37), 1, + anon_sym_DOT, + ACTIONS(39), 1, + anon_sym_LBRACK, + STATE(3), 1, + sym_comment, + STATE(7), 1, + sym__field_named, + STATE(8), 1, + sym__field_indexed, + ACTIONS(41), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(43), 32, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [154] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(4), 1, + sym_comment, + ACTIONS(45), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(47), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [221] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(5), 1, + sym_comment, + ACTIONS(45), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(47), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [288] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(6), 1, + sym_comment, + ACTIONS(45), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(47), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [355] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(7), 1, + sym_comment, + ACTIONS(49), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(51), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [422] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(8), 1, + sym_comment, + ACTIONS(49), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(51), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [489] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(9), 1, + sym_comment, + ACTIONS(53), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(55), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [556] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(10), 1, + sym_comment, + ACTIONS(45), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(47), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [623] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(11), 1, + sym_comment, + ACTIONS(57), 23, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(59), 33, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + sym_name, + [690] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(37), 1, + anon_sym_DOT, + ACTIONS(39), 1, + anon_sym_LBRACK, + STATE(5), 1, + sym__field_named, + STATE(6), 1, + sym__field_indexed, + STATE(12), 1, + sym_comment, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(61), 18, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_RPAREN, + ACTIONS(63), 24, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [760] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(71), 1, + anon_sym_DOT, + ACTIONS(73), 1, + anon_sym_LT, + ACTIONS(75), 1, + anon_sym_DOT_DOT_DOT, + STATE(13), 1, + sym_comment, + ACTIONS(67), 21, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(69), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + anon_sym_DOT_DOT, + sym_name, + [826] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(81), 1, + anon_sym_DASH_GT, + STATE(14), 1, + sym_comment, + ACTIONS(77), 21, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(79), 26, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_DASH, + anon_sym_SLASH, + sym_name, + [887] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(71), 1, + anon_sym_DOT, + ACTIONS(73), 1, + anon_sym_LT, + STATE(15), 1, + sym_comment, + ACTIONS(67), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(69), 24, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [950] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(16), 1, + sym_comment, + ACTIONS(83), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(85), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1008] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(17), 1, + sym_comment, + ACTIONS(87), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(89), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1066] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(18), 1, + sym_comment, + ACTIONS(91), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(93), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1124] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(19), 1, + sym_comment, + ACTIONS(95), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(97), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1182] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(20), 1, + sym_comment, + ACTIONS(99), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(101), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1240] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(21), 1, + sym_comment, + ACTIONS(103), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(105), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1298] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(22), 1, + sym_comment, + ACTIONS(107), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(109), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1356] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(23), 1, + sym_comment, + ACTIONS(111), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(113), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1414] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(24), 1, + sym_comment, + ACTIONS(115), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(117), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1472] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(25), 1, + sym_comment, + ACTIONS(119), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(121), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1530] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(26), 1, + sym_comment, + ACTIONS(123), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(125), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1588] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(27), 1, + sym_comment, + ACTIONS(127), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(129), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1646] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(28), 1, + sym_comment, + ACTIONS(131), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(133), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1704] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(29), 1, + sym_comment, + ACTIONS(135), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(137), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1762] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(30), 1, + sym_comment, + ACTIONS(139), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(141), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1820] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(31), 1, + sym_comment, + ACTIONS(143), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(145), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1878] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(32), 1, + sym_comment, + ACTIONS(147), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(149), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1936] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(33), 1, + sym_comment, + ACTIONS(151), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(153), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [1994] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(34), 1, + sym_comment, + ACTIONS(155), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(157), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2052] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(35), 1, + sym_comment, + ACTIONS(159), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(161), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2110] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + STATE(36), 1, + sym_comment, + ACTIONS(163), 21, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + ACTIONS(165), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2170] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(37), 1, + sym_comment, + ACTIONS(169), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(171), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2228] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(38), 1, + sym_comment, + ACTIONS(173), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(175), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2286] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(39), 1, + sym_comment, + ACTIONS(123), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(125), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2344] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(40), 1, + sym_comment, + ACTIONS(177), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(179), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2402] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(41), 1, + sym_comment, + ACTIONS(159), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(161), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2460] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(42), 1, + sym_comment, + ACTIONS(181), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(183), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2518] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(189), 1, + anon_sym_LT, + STATE(43), 1, + sym_comment, + ACTIONS(185), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(187), 24, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2578] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(44), 1, + sym_comment, + ACTIONS(191), 22, + sym__string_start, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(193), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2636] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(45), 1, + sym_comment, + ACTIONS(195), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(197), 25, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_EQ, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2694] = 5, + ACTIONS(3), 1, + sym__comment_start, + STATE(46), 1, + sym_comment, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(61), 18, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_RPAREN, + ACTIONS(63), 24, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2752] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(47), 1, + sym_comment, + ACTIONS(199), 22, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(201), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2808] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(207), 1, + anon_sym_AMP, + ACTIONS(209), 1, + anon_sym_PIPE, + STATE(48), 1, + sym_comment, + ACTIONS(203), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(205), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2870] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(207), 1, + anon_sym_AMP, + ACTIONS(209), 1, + anon_sym_PIPE, + STATE(49), 1, + sym_comment, + ACTIONS(131), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(133), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2932] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(207), 1, + anon_sym_AMP, + ACTIONS(209), 1, + anon_sym_PIPE, + STATE(50), 1, + sym_comment, + ACTIONS(211), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(213), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [2994] = 35, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(215), 1, + anon_sym_end, + ACTIONS(217), 1, + anon_sym_elseif, + ACTIONS(219), 1, + anon_sym_else, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(51), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(440), 1, + sym_block, + STATE(442), 1, + aux_sym_if_stmt_repeat1, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(545), 1, + sym_elseif_clause, + STATE(575), 1, + sym_prefixexp, + STATE(614), 1, + sym_else_clause, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [3112] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(207), 1, + anon_sym_AMP, + ACTIONS(209), 1, + anon_sym_PIPE, + STATE(52), 1, + sym_comment, + ACTIONS(103), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(105), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [3174] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(207), 1, + anon_sym_AMP, + STATE(53), 1, + sym_comment, + ACTIONS(163), 20, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PIPE, + ACTIONS(165), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [3234] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(225), 1, + anon_sym_COLON, + STATE(54), 1, + sym_comment, + STATE(534), 1, + sym__method_name, + ACTIONS(221), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(223), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [3293] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(227), 1, + anon_sym_end, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(55), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(667), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [3405] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(233), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(56), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(615), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [3517] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(235), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(57), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(662), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [3629] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(237), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(58), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(678), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [3741] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(59), 1, + sym_comment, + ACTIONS(239), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(241), 24, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_COLON, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [3795] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(243), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(60), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(670), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [3907] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(245), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(61), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(610), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [4019] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(247), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(62), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(597), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [4131] = 33, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(249), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(63), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(636), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [4243] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(64), 1, + sym_comment, + ACTIONS(251), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(253), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4296] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(65), 1, + sym_comment, + ACTIONS(139), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(141), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4349] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(66), 1, + sym_comment, + ACTIONS(91), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(93), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4402] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(67), 1, + sym_comment, + ACTIONS(255), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(257), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4455] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(68), 1, + sym_comment, + ACTIONS(259), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(261), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4508] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(69), 1, + sym_comment, + ACTIONS(263), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(265), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4561] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(70), 1, + sym_comment, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(548), 1, + sym_block, + STATE(575), 1, + sym_prefixexp, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + ACTIONS(267), 3, + anon_sym_end, + anon_sym_elseif, + anon_sym_else, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [4666] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(71), 1, + sym_comment, + ACTIONS(269), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(271), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4719] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(72), 1, + sym_comment, + ACTIONS(273), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(275), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4772] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(73), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(277), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 22, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + sym_name, + [4837] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + STATE(74), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(293), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(295), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [4910] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(75), 1, + sym_comment, + ACTIONS(305), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(307), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [4963] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(301), 1, + anon_sym_and, + STATE(76), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(277), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 19, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_or, + sym_name, + [5034] = 12, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(77), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(277), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 20, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_or, + anon_sym_and, + sym_name, + [5103] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(78), 1, + sym_comment, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(277), 14, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_DOT_DOT, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 22, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + sym_name, + [5164] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(79), 1, + sym_comment, + ACTIONS(277), 17, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5221] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(80), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(277), 11, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 22, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + sym_name, + [5286] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(81), 1, + sym_comment, + ACTIONS(309), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(311), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5339] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(82), 1, + sym_comment, + ACTIONS(277), 17, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(279), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5396] = 29, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(313), 1, + ts_builtin_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + sym_comment, + STATE(106), 1, + aux_sym__block_repeat1, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(465), 1, + sym_ret_stmt, + STATE(575), 1, + sym_prefixexp, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + ACTIONS(315), 4, + anon_sym_end, + anon_sym_elseif, + anon_sym_else, + anon_sym_until, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [5499] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + STATE(84), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(317), 7, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(319), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [5572] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(85), 1, + sym_comment, + ACTIONS(321), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(323), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5625] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(86), 1, + sym_comment, + ACTIONS(325), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(327), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5678] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(87), 1, + sym_comment, + ACTIONS(329), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(331), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5731] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(88), 1, + sym_comment, + ACTIONS(333), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(335), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5784] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(89), 1, + sym_comment, + ACTIONS(337), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(339), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5837] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(90), 1, + sym_comment, + ACTIONS(341), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(343), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5890] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(91), 1, + sym_comment, + ACTIONS(345), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(347), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5943] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(92), 1, + sym_comment, + ACTIONS(221), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(223), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [5996] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(93), 1, + sym_comment, + ACTIONS(349), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(351), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [6049] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(94), 1, + sym_comment, + ACTIONS(353), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(355), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [6102] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(95), 1, + sym_comment, + ACTIONS(357), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(359), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [6155] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(96), 1, + sym_comment, + ACTIONS(361), 19, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(363), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [6208] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + STATE(97), 1, + sym_comment, + ACTIONS(365), 17, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(367), 23, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_then, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + anon_sym_LT, + anon_sym_GT, + anon_sym_or, + anon_sym_and, + anon_sym_SLASH, + sym_name, + [6265] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(369), 1, + anon_sym_COLON, + ACTIONS(371), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(98), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(666), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [6371] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(373), 1, + anon_sym_COLON, + ACTIONS(375), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(99), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(699), 1, + sym__varlist, + STATE(709), 1, + sym_block, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [6477] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(377), 1, + anon_sym_COLON, + ACTIONS(379), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(100), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(621), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [6583] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(381), 1, + anon_sym_COLON, + ACTIONS(383), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(101), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(648), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [6689] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(385), 1, + anon_sym_COLON, + ACTIONS(387), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(102), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(619), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [6795] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(389), 1, + anon_sym_COLON, + ACTIONS(391), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(103), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(641), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [6901] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(393), 1, + anon_sym_COLON, + ACTIONS(395), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(104), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(634), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7007] = 31, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(397), 1, + anon_sym_COLON, + ACTIONS(399), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(105), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(660), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7113] = 26, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(401), 1, + ts_builtin_sym_end, + ACTIONS(403), 1, + sym_name, + ACTIONS(408), 1, + anon_sym_local, + ACTIONS(411), 1, + anon_sym_function, + ACTIONS(414), 1, + anon_sym_for, + ACTIONS(417), 1, + anon_sym_do, + ACTIONS(420), 1, + anon_sym_if, + ACTIONS(423), 1, + anon_sym_repeat, + ACTIONS(426), 1, + anon_sym_while, + ACTIONS(432), 1, + anon_sym_export, + ACTIONS(435), 1, + anon_sym_type, + ACTIONS(438), 1, + anon_sym_LPAREN, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(575), 1, + sym_prefixexp, + STATE(699), 1, + sym__varlist, + ACTIONS(429), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(106), 2, + sym_comment, + aux_sym__block_repeat1, + ACTIONS(406), 5, + anon_sym_return, + anon_sym_end, + anon_sym_elseif, + anon_sym_else, + anon_sym_until, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7209] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(227), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(107), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(667), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7312] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(441), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(108), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(654), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7415] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(443), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(109), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(626), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7518] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(445), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(110), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(675), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7621] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(447), 1, + ts_builtin_sym_end, + ACTIONS(449), 1, + anon_sym_SEMI, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(111), 1, + sym_comment, + STATE(114), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(438), 1, + sym__explist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + ACTIONS(453), 4, + anon_sym_end, + anon_sym_elseif, + anon_sym_else, + anon_sym_until, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [7718] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(243), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(112), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(670), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7821] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(475), 1, + anon_sym_until, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(113), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(647), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [7924] = 16, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + ACTIONS(481), 1, + anon_sym_COMMA, + STATE(114), 1, + sym_comment, + STATE(259), 1, + aux_sym__explist_repeat1, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(477), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(479), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [7999] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(483), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(115), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(613), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8102] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(245), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(116), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(610), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8205] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(235), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(117), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(662), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8308] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(237), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(118), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(678), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8411] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(247), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(119), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(597), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8514] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(485), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(120), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(672), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8617] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(487), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(121), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(695), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8720] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(233), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(122), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(615), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8823] = 30, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(9), 1, + anon_sym_return, + ACTIONS(11), 1, + anon_sym_local, + ACTIONS(13), 1, + anon_sym_function, + ACTIONS(15), 1, + anon_sym_for, + ACTIONS(17), 1, + anon_sym_do, + ACTIONS(19), 1, + anon_sym_if, + ACTIONS(21), 1, + anon_sym_repeat, + ACTIONS(23), 1, + anon_sym_while, + ACTIONS(27), 1, + anon_sym_export, + ACTIONS(29), 1, + anon_sym_type, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(249), 1, + anon_sym_end, + STATE(3), 1, + sym__tbl_var, + STATE(12), 1, + sym_exp_wrap, + STATE(83), 1, + aux_sym__block_repeat1, + STATE(123), 1, + sym_comment, + STATE(228), 1, + sym_call_stmt, + STATE(331), 1, + sym_statement, + STATE(407), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(466), 1, + sym_ret_stmt, + STATE(506), 1, + sym__block, + STATE(575), 1, + sym_prefixexp, + STATE(636), 1, + sym_block, + STATE(699), 1, + sym__varlist, + ACTIONS(25), 2, + sym_break_stmt, + sym_continue_stmt, + STATE(330), 12, + sym_local_fn_stmt, + sym_fn_stmt, + sym_for_in_stmt, + sym_for_range_stmt, + sym_if_stmt, + sym_repeat_stmt, + sym_while_stmt, + sym_do_stmt, + sym_local_var_stmt, + sym_var_stmt, + sym_assign_stmt, + sym_type_stmt, + [8926] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + STATE(124), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(489), 5, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(491), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [8996] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(497), 1, + anon_sym_RBRACE, + ACTIONS(499), 1, + anon_sym_LBRACK, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(125), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(533), 1, + sym_field, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(495), 2, + anon_sym_SEMI, + anon_sym_COMMA, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9091] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(499), 1, + anon_sym_LBRACK, + ACTIONS(503), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(126), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(533), 1, + sym_field, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(501), 2, + anon_sym_SEMI, + anon_sym_COMMA, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9186] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + STATE(127), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(505), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(507), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [9254] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(499), 1, + anon_sym_LBRACK, + ACTIONS(509), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(128), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(514), 1, + sym_field, + STATE(657), 1, + sym_fieldlist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9348] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(499), 1, + anon_sym_LBRACK, + ACTIONS(511), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(129), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(514), 1, + sym_field, + STATE(674), 1, + sym_fieldlist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9442] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + STATE(130), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(513), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(515), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [9510] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(499), 1, + anon_sym_LBRACK, + ACTIONS(517), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(131), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(514), 1, + sym_field, + STATE(627), 1, + sym_fieldlist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9604] = 27, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(499), 1, + anon_sym_LBRACK, + ACTIONS(519), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(132), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(514), 1, + sym_field, + STATE(688), 1, + sym_fieldlist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9698] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(299), 1, + anon_sym_or, + ACTIONS(301), 1, + anon_sym_and, + STATE(133), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(521), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(523), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [9766] = 25, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(493), 1, + sym_name, + ACTIONS(499), 1, + anon_sym_LBRACK, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(134), 1, + sym_comment, + STATE(336), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(533), 1, + sym_field, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9854] = 25, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(525), 1, + anon_sym_RPAREN, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(114), 1, + sym_exp, + STATE(135), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(629), 1, + sym__explist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [9942] = 25, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + ACTIONS(527), 1, + anon_sym_RPAREN, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(114), 1, + sym_exp, + STATE(136), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(603), 1, + sym__explist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10030] = 26, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(537), 1, + anon_sym_RPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + STATE(40), 1, + sym_genpack, + STATE(137), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(428), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(655), 1, + sym__typelist, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + STATE(696), 1, + sym_variadic, + STATE(697), 1, + sym__typelist_vrd, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [10119] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + ACTIONS(571), 1, + sym_interp_brace_close, + STATE(138), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(398), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10204] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(114), 1, + sym_exp, + STATE(139), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(609), 1, + sym__explist, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10289] = 26, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(573), 1, + anon_sym_RPAREN, + STATE(40), 1, + sym_genpack, + STATE(140), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(433), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + STATE(696), 1, + sym_variadic, + STATE(697), 1, + sym__typelist_vrd, + STATE(698), 1, + sym__typelist, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [10378] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(114), 1, + sym_exp, + STATE(141), 1, + sym_comment, + STATE(344), 1, + sym__explist, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10463] = 26, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(575), 1, + anon_sym_RPAREN, + STATE(40), 1, + sym_genpack, + STATE(142), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(434), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + STATE(683), 1, + sym__typelist, + STATE(696), 1, + sym_variadic, + STATE(697), 1, + sym__typelist_vrd, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [10552] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(114), 1, + sym_exp, + STATE(143), 1, + sym_comment, + STATE(327), 1, + sym__explist, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10637] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(144), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(382), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10719] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(145), 1, + sym_comment, + STATE(401), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10801] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(146), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(383), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10883] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(147), 1, + sym_comment, + STATE(400), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [10965] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(148), 1, + sym_comment, + STATE(354), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11047] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(149), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(381), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11129] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(150), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(379), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11211] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(151), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(375), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11293] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(152), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(361), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11375] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(153), 1, + sym_comment, + STATE(399), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11457] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(154), 1, + sym_comment, + STATE(393), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11539] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(77), 1, + sym_exp, + STATE(155), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11621] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(97), 1, + sym_exp, + STATE(156), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11703] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(78), 1, + sym_exp, + STATE(157), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11785] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(73), 1, + sym_exp, + STATE(158), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11867] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(159), 1, + sym_comment, + STATE(304), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [11949] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(160), 1, + sym_comment, + STATE(387), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12031] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(161), 1, + sym_comment, + STATE(328), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12113] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(79), 1, + sym_exp, + STATE(162), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12195] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(130), 1, + sym_exp, + STATE(163), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12277] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(127), 1, + sym_exp, + STATE(164), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12359] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(84), 1, + sym_exp, + STATE(165), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12441] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(166), 1, + sym_comment, + STATE(394), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12523] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(167), 1, + sym_comment, + STATE(367), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12605] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(168), 1, + sym_comment, + STATE(392), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12687] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(169), 1, + sym_comment, + STATE(363), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12769] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(170), 1, + sym_comment, + STATE(395), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12851] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(171), 1, + sym_comment, + STATE(341), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [12933] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(80), 1, + sym_exp, + STATE(172), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13015] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(173), 1, + sym_comment, + STATE(391), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13097] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(76), 1, + sym_exp, + STATE(174), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13179] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(82), 1, + sym_exp, + STATE(175), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13261] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(133), 1, + sym_exp, + STATE(176), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13343] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(177), 1, + sym_comment, + STATE(356), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13425] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(178), 1, + sym_comment, + STATE(404), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13507] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(179), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(357), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13589] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(180), 1, + sym_comment, + STATE(310), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13671] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(124), 1, + sym_exp, + STATE(181), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13753] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(182), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(389), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13835] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(74), 1, + sym_exp, + STATE(183), 1, + sym_comment, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13917] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(184), 1, + sym_comment, + STATE(390), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [13999] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(185), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(368), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [14081] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(186), 1, + sym_comment, + STATE(373), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [14163] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(187), 1, + sym_comment, + STATE(377), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [14245] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(7), 1, + sym_name, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(451), 1, + anon_sym_function, + ACTIONS(455), 1, + anon_sym_if, + ACTIONS(459), 1, + anon_sym_POUND, + ACTIONS(461), 1, + anon_sym_LBRACE, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(465), 1, + sym_number, + ACTIONS(469), 1, + sym_nil, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(473), 1, + sym_interp_start, + STATE(3), 1, + sym__tbl_var, + STATE(46), 1, + sym_var, + STATE(54), 1, + sym_prefixexp, + STATE(188), 1, + sym_comment, + STATE(371), 1, + sym_exp, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + ACTIONS(457), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(92), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [14327] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(545), 1, + sym_name, + ACTIONS(547), 1, + anon_sym_function, + ACTIONS(549), 1, + anon_sym_if, + ACTIONS(553), 1, + anon_sym_POUND, + ACTIONS(555), 1, + anon_sym_LBRACE, + ACTIONS(557), 1, + anon_sym_LPAREN, + ACTIONS(559), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(561), 1, + sym_number, + ACTIONS(565), 1, + sym_nil, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(569), 1, + sym_interp_start, + STATE(189), 1, + sym_comment, + STATE(233), 1, + sym__tbl_var, + STATE(287), 1, + sym_var, + STATE(347), 1, + sym_prefixexp, + STATE(396), 1, + sym_exp, + STATE(447), 1, + sym__prefixexp, + STATE(448), 1, + sym__tbl_method, + ACTIONS(551), 2, + anon_sym_DASH, + anon_sym_not, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(232), 2, + sym_exp_wrap, + sym_call_stmt, + STATE(384), 10, + sym_binexp, + sym_cast, + sym_unexp, + sym_ifexp, + sym_table, + sym_anon_fn, + sym_vararg, + sym_string, + sym_string_interp, + sym_boolean, + [14409] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(190), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(564), 1, + sym_typeparam, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(663), 1, + sym__typeparamlist, + STATE(669), 1, + sym_generic, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14490] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(593), 1, + anon_sym_RPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(191), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(474), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14573] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(192), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(564), 1, + sym_typeparam, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(652), 1, + sym__typeparamlist, + STATE(669), 1, + sym_generic, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14654] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(593), 1, + anon_sym_RPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(193), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(496), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14737] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(593), 1, + anon_sym_RPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(194), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(453), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14820] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(195), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(564), 1, + sym_typeparam, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(631), 1, + sym__typeparamlist, + STATE(669), 1, + sym_generic, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14901] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(196), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(564), 1, + sym_typeparam, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + STATE(682), 1, + sym__typeparamlist, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [14982] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(197), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(564), 1, + sym_typeparam, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + STATE(700), 1, + sym__typeparamlist, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15063] = 24, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(593), 1, + anon_sym_RPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(198), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(488), 1, + sym_type, + STATE(553), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(656), 1, + sym__fntype_paramlist, + STATE(659), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15146] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(199), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(564), 1, + sym_typeparam, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + STATE(684), 1, + sym__typeparamlist, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15227] = 22, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(200), 1, + sym_comment, + STATE(208), 1, + sym__fntype_wrap, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(495), 1, + sym_type, + STATE(574), 1, + sym_typepack, + STATE(576), 1, + sym__fntype_gen, + STATE(592), 1, + sym_typeparam, + STATE(669), 1, + sym_generic, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15305] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(595), 1, + sym_name, + ACTIONS(597), 1, + anon_sym_RBRACE, + ACTIONS(599), 1, + anon_sym_LBRACK, + STATE(201), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(511), 1, + sym__tbtype_kv, + STATE(517), 1, + sym_type, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(572), 1, + sym__fntype_gen, + STATE(596), 1, + sym__tbtype_kvlist, + STATE(637), 1, + sym__tbtype_content, + STATE(646), 1, + sym__tbtype_array, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15384] = 20, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + ACTIONS(605), 1, + anon_sym_DOT_DOT_DOT, + STATE(28), 1, + sym_typepack, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(49), 1, + sym_type, + STATE(594), 1, + sym__fntype_gen, + STATE(602), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(202), 2, + sym__fntype_wrap, + sym_comment, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15457] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(55), 1, + sym_type, + STATE(107), 1, + sym_typepack, + STATE(203), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15532] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(63), 1, + sym_type, + STATE(123), 1, + sym_typepack, + STATE(204), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15607] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(60), 1, + sym_type, + STATE(112), 1, + sym_typepack, + STATE(205), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15682] = 20, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(607), 1, + sym_name, + ACTIONS(609), 1, + anon_sym_LBRACE, + ACTIONS(611), 1, + anon_sym_LPAREN, + ACTIONS(613), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(615), 1, + anon_sym_typeof, + ACTIONS(617), 1, + sym_nil, + STATE(296), 1, + sym_typepack, + STATE(306), 1, + sym_variadic, + STATE(307), 1, + sym_genpack, + STATE(311), 1, + sym_type, + STATE(587), 1, + sym__fntype_gen, + STATE(598), 1, + sym_generic, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(206), 2, + sym__fntype_wrap, + sym_comment, + STATE(301), 2, + sym_string, + sym_boolean, + STATE(299), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(303), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15755] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(595), 1, + sym_name, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_RBRACE, + STATE(207), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(511), 1, + sym__tbtype_kv, + STATE(517), 1, + sym_type, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(572), 1, + sym__fntype_gen, + STATE(596), 1, + sym__tbtype_kvlist, + STATE(646), 1, + sym__tbtype_array, + STATE(677), 1, + sym__tbtype_content, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15834] = 20, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(472), 1, + sym_type, + STATE(476), 1, + sym_genpack, + STATE(477), 1, + sym_typepack, + STATE(479), 1, + sym_variadic, + STATE(576), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(208), 2, + sym__fntype_wrap, + sym_comment, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15907] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + ACTIONS(605), 1, + anon_sym_DOT_DOT_DOT, + STATE(21), 1, + sym_typepack, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(52), 1, + sym_type, + STATE(202), 1, + sym__fntype_wrap, + STATE(209), 1, + sym_comment, + STATE(594), 1, + sym__fntype_gen, + STATE(602), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [15982] = 22, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(210), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(488), 1, + sym_type, + STATE(567), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(633), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16059] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(21), 1, + sym_typepack, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(211), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(225), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16134] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(212), 1, + sym_comment, + ACTIONS(199), 12, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + ACTIONS(201), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [16175] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(57), 1, + sym_type, + STATE(117), 1, + sym_typepack, + STATE(213), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16250] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(61), 1, + sym_type, + STATE(116), 1, + sym_typepack, + STATE(214), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16325] = 23, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(595), 1, + sym_name, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(621), 1, + anon_sym_RBRACE, + STATE(215), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(511), 1, + sym__tbtype_kv, + STATE(517), 1, + sym_type, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(572), 1, + sym__fntype_gen, + STATE(596), 1, + sym__tbtype_kvlist, + STATE(643), 1, + sym__tbtype_content, + STATE(646), 1, + sym__tbtype_array, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16404] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(577), 1, + sym_name, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(581), 1, + anon_sym_LPAREN, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + STATE(208), 1, + sym__fntype_wrap, + STATE(216), 1, + sym_comment, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(490), 1, + sym_typepack, + STATE(494), 1, + sym_type, + STATE(576), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16479] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(58), 1, + sym_type, + STATE(118), 1, + sym_typepack, + STATE(217), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16554] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(56), 1, + sym_type, + STATE(122), 1, + sym_typepack, + STATE(218), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16629] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(62), 1, + sym_type, + STATE(119), 1, + sym_typepack, + STATE(219), 1, + sym_comment, + STATE(220), 1, + sym__fntype_wrap, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16704] = 20, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(601), 1, + sym_name, + ACTIONS(603), 1, + anon_sym_LPAREN, + STATE(28), 1, + sym_typepack, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(223), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(220), 2, + sym__fntype_wrap, + sym_comment, + STATE(27), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16777] = 22, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(529), 1, + sym_name, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + STATE(31), 1, + sym_variadic, + STATE(40), 1, + sym_genpack, + STATE(220), 1, + sym__fntype_wrap, + STATE(221), 1, + sym_comment, + STATE(488), 1, + sym_type, + STATE(567), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + STATE(661), 1, + sym__fntype_paramlist_vrd, + STATE(669), 1, + sym_generic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(653), 2, + sym__typepack_vrd, + sym__typepack_gen, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16854] = 21, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(607), 1, + sym_name, + ACTIONS(609), 1, + anon_sym_LBRACE, + ACTIONS(611), 1, + anon_sym_LPAREN, + ACTIONS(613), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(615), 1, + anon_sym_typeof, + ACTIONS(617), 1, + sym_nil, + STATE(206), 1, + sym__fntype_wrap, + STATE(222), 1, + sym_comment, + STATE(306), 1, + sym_variadic, + STATE(307), 1, + sym_genpack, + STATE(318), 1, + sym_type, + STATE(319), 1, + sym_typepack, + STATE(587), 1, + sym__fntype_gen, + STATE(598), 1, + sym_generic, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(301), 2, + sym_string, + sym_boolean, + STATE(299), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + STATE(303), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [16929] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(223), 1, + sym_comment, + ACTIONS(131), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(133), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [16975] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(37), 1, + anon_sym_DOT, + ACTIONS(39), 1, + anon_sym_LBRACK, + ACTIONS(623), 1, + anon_sym_EQ, + STATE(4), 1, + sym__field_indexed, + STATE(10), 1, + sym__field_named, + STATE(224), 1, + sym_comment, + ACTIONS(35), 4, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(33), 20, + sym__string_start, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + [17025] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(225), 1, + sym_comment, + ACTIONS(103), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(105), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17071] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(226), 1, + sym_comment, + ACTIONS(203), 8, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(205), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17117] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + STATE(227), 1, + sym_comment, + ACTIONS(163), 9, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PIPE, + ACTIONS(165), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17161] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(39), 1, + anon_sym_LBRACK, + ACTIONS(61), 1, + anon_sym_COLON, + ACTIONS(629), 1, + anon_sym_DOT, + STATE(228), 1, + sym_comment, + STATE(408), 1, + sym__field_named, + STATE(409), 1, + sym__field_indexed, + ACTIONS(625), 2, + ts_builtin_sym_end, + anon_sym_SEMI, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(627), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17211] = 20, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + ACTIONS(633), 1, + anon_sym_RPAREN, + STATE(220), 1, + sym__fntype_wrap, + STATE(229), 1, + sym_comment, + STATE(444), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + STATE(628), 1, + sym_variadic, + STATE(655), 1, + sym__typelist, + STATE(697), 1, + sym__typelist_vrd, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [17281] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(230), 1, + sym_comment, + ACTIONS(635), 6, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(637), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17325] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(639), 1, + anon_sym_DOT, + ACTIONS(641), 1, + anon_sym_LBRACK, + STATE(231), 1, + sym_comment, + STATE(246), 1, + sym__field_named, + STATE(256), 1, + sym__field_indexed, + ACTIONS(35), 4, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(33), 18, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LPAREN, + [17370] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(639), 1, + anon_sym_DOT, + ACTIONS(641), 1, + anon_sym_LBRACK, + STATE(232), 1, + sym_comment, + STATE(245), 1, + sym__field_named, + STATE(247), 1, + sym__field_indexed, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(63), 4, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(61), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [17417] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(639), 1, + anon_sym_DOT, + ACTIONS(641), 1, + anon_sym_LBRACK, + STATE(233), 1, + sym_comment, + STATE(251), 1, + sym__field_named, + STATE(252), 1, + sym__field_indexed, + ACTIONS(43), 4, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(41), 18, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LPAREN, + [17462] = 18, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(234), 1, + sym_comment, + STATE(493), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + STATE(618), 1, + sym__typelist_vrd, + STATE(628), 1, + sym_variadic, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [17526] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(647), 1, + anon_sym_COLON, + STATE(235), 1, + sym_comment, + ACTIONS(643), 6, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(645), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17564] = 18, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(539), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(236), 1, + sym_comment, + STATE(493), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + STATE(628), 1, + sym_variadic, + STATE(630), 1, + sym__typelist_vrd, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [17628] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(237), 1, + sym_comment, + ACTIONS(193), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(191), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17663] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(238), 1, + sym_comment, + ACTIONS(157), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(155), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17698] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(653), 1, + anon_sym_COMMA, + STATE(239), 1, + sym_comment, + STATE(240), 1, + aux_sym__bindinglist_repeat1, + ACTIONS(649), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_LPAREN, + ACTIONS(651), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17737] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(659), 1, + anon_sym_COMMA, + STATE(240), 2, + sym_comment, + aux_sym__bindinglist_repeat1, + ACTIONS(655), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_LPAREN, + ACTIONS(657), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [17774] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(241), 1, + sym_comment, + ACTIONS(161), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(159), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17809] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(242), 1, + sym_comment, + ACTIONS(55), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(53), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17844] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(243), 1, + sym_comment, + ACTIONS(171), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(169), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17879] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(244), 1, + sym_comment, + ACTIONS(97), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(95), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17914] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(245), 1, + sym_comment, + ACTIONS(47), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(45), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17949] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(246), 1, + sym_comment, + ACTIONS(47), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(45), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [17984] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(247), 1, + sym_comment, + ACTIONS(47), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(45), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18019] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(248), 1, + sym_comment, + ACTIONS(183), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(181), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18054] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(249), 1, + sym_comment, + ACTIONS(93), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(91), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18089] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(250), 1, + sym_comment, + ACTIONS(125), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(123), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18124] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(251), 1, + sym_comment, + ACTIONS(51), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(49), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18159] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(252), 1, + sym_comment, + ACTIONS(51), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(49), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18194] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(253), 1, + sym_comment, + ACTIONS(141), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(139), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18229] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(254), 1, + sym_comment, + ACTIONS(109), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(107), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18264] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(255), 1, + sym_comment, + ACTIONS(59), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(57), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18299] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(256), 1, + sym_comment, + ACTIONS(47), 5, + anon_sym_DOT, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(45), 19, + sym__string_start, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [18334] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(257), 1, + sym_comment, + ACTIONS(662), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(664), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18374] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(653), 1, + anon_sym_COMMA, + STATE(239), 1, + aux_sym__bindinglist_repeat1, + STATE(258), 1, + sym_comment, + ACTIONS(666), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_LPAREN, + ACTIONS(668), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18412] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(481), 1, + anon_sym_COMMA, + STATE(259), 1, + sym_comment, + STATE(260), 1, + aux_sym__explist_repeat1, + ACTIONS(670), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(672), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18450] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(674), 1, + anon_sym_COMMA, + STATE(260), 2, + sym_comment, + aux_sym__explist_repeat1, + ACTIONS(489), 4, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + anon_sym_RPAREN, + ACTIONS(491), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18486] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(261), 1, + sym_comment, + ACTIONS(655), 5, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_LPAREN, + ACTIONS(657), 18, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_in, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18520] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(262), 1, + sym_comment, + ACTIONS(677), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(679), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18560] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(263), 1, + sym_comment, + ACTIONS(681), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(683), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18600] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(75), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(685), 1, + anon_sym_DOT, + ACTIONS(687), 1, + anon_sym_LT, + STATE(264), 1, + sym_comment, + ACTIONS(69), 3, + anon_sym_GT, + anon_sym_SLASH, + anon_sym_DOT_DOT, + ACTIONS(67), 17, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [18640] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(265), 1, + sym_comment, + ACTIONS(689), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(691), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [18680] = 16, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(693), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(266), 1, + sym_comment, + STATE(488), 1, + sym_type, + STATE(567), 1, + sym__fntype_param, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [18738] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(36), 1, + sym_type, + STATE(202), 1, + sym__fntype_wrap, + STATE(267), 1, + sym_comment, + STATE(594), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [18793] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(268), 1, + sym_comment, + STATE(441), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [18848] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(53), 1, + sym_type, + STATE(202), 1, + sym__fntype_wrap, + STATE(269), 1, + sym_comment, + STATE(594), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [18903] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(685), 1, + anon_sym_DOT, + ACTIONS(687), 1, + anon_sym_LT, + STATE(270), 1, + sym_comment, + ACTIONS(69), 2, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(67), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [18940] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(271), 1, + sym_comment, + STATE(515), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [18995] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + ACTIONS(695), 1, + sym_name, + ACTIONS(697), 1, + anon_sym_LPAREN, + STATE(208), 1, + sym__fntype_wrap, + STATE(272), 1, + sym_comment, + STATE(486), 1, + sym_type, + STATE(576), 1, + sym__fntype_gen, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19050] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(265), 1, + sym_type, + STATE(273), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19105] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(81), 1, + anon_sym_DASH_GT, + STATE(274), 1, + sym_comment, + ACTIONS(79), 4, + anon_sym_LT, + anon_sym_GT, + anon_sym_DASH, + anon_sym_SLASH, + ACTIONS(77), 17, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [19140] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(275), 1, + sym_comment, + STATE(445), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19195] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + ACTIONS(695), 1, + sym_name, + ACTIONS(697), 1, + anon_sym_LPAREN, + STATE(208), 1, + sym__fntype_wrap, + STATE(276), 1, + sym_comment, + STATE(464), 1, + sym_type, + STATE(576), 1, + sym__fntype_gen, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19250] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + ACTIONS(695), 1, + sym_name, + ACTIONS(697), 1, + anon_sym_LPAREN, + STATE(208), 1, + sym__fntype_wrap, + STATE(277), 1, + sym_comment, + STATE(478), 1, + sym_type, + STATE(576), 1, + sym__fntype_gen, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19305] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(609), 1, + anon_sym_LBRACE, + ACTIONS(615), 1, + anon_sym_typeof, + ACTIONS(617), 1, + sym_nil, + ACTIONS(699), 1, + sym_name, + ACTIONS(701), 1, + anon_sym_LPAREN, + STATE(206), 1, + sym__fntype_wrap, + STATE(278), 1, + sym_comment, + STATE(309), 1, + sym_type, + STATE(587), 1, + sym__fntype_gen, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(301), 2, + sym_string, + sym_boolean, + STATE(303), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19360] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(257), 1, + sym_type, + STATE(279), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19415] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(280), 1, + sym_comment, + STATE(493), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19470] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(281), 1, + sym_comment, + STATE(458), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19525] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(48), 1, + sym_type, + STATE(202), 1, + sym__fntype_wrap, + STATE(282), 1, + sym_comment, + STATE(594), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19580] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(263), 1, + sym_type, + STATE(283), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19635] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(262), 1, + sym_type, + STATE(284), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19690] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(227), 1, + sym_type, + STATE(285), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19745] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(50), 1, + sym_type, + STATE(202), 1, + sym__fntype_wrap, + STATE(286), 1, + sym_comment, + STATE(594), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19800] = 5, + ACTIONS(3), 1, + sym__comment_start, + STATE(287), 1, + sym_comment, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(63), 4, + anon_sym_COLON, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(61), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [19835] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(226), 1, + sym_type, + STATE(288), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19890] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(289), 1, + sym_comment, + STATE(510), 1, + sym_type, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [19945] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(36), 1, + sym_type, + STATE(220), 1, + sym__fntype_wrap, + STATE(290), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [20000] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(471), 1, + sym__string_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(533), 1, + anon_sym_LBRACE, + ACTIONS(535), 1, + anon_sym_LPAREN, + ACTIONS(541), 1, + anon_sym_typeof, + ACTIONS(543), 1, + sym_nil, + ACTIONS(631), 1, + sym_name, + STATE(220), 1, + sym__fntype_wrap, + STATE(230), 1, + sym_type, + STATE(291), 1, + sym_comment, + STATE(572), 1, + sym__fntype_gen, + ACTIONS(467), 2, + anon_sym_true, + anon_sym_false, + STATE(17), 2, + sym_string, + sym_boolean, + STATE(32), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [20055] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(609), 1, + anon_sym_LBRACE, + ACTIONS(615), 1, + anon_sym_typeof, + ACTIONS(617), 1, + sym_nil, + ACTIONS(699), 1, + sym_name, + ACTIONS(701), 1, + anon_sym_LPAREN, + STATE(206), 1, + sym__fntype_wrap, + STATE(292), 1, + sym_comment, + STATE(317), 1, + sym_type, + STATE(587), 1, + sym__fntype_gen, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(301), 2, + sym_string, + sym_boolean, + STATE(303), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [20110] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(609), 1, + anon_sym_LBRACE, + ACTIONS(615), 1, + anon_sym_typeof, + ACTIONS(617), 1, + sym_nil, + ACTIONS(699), 1, + sym_name, + ACTIONS(701), 1, + anon_sym_LPAREN, + STATE(206), 1, + sym__fntype_wrap, + STATE(293), 1, + sym_comment, + STATE(316), 1, + sym_type, + STATE(587), 1, + sym__fntype_gen, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(301), 2, + sym_string, + sym_boolean, + STATE(303), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [20165] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(579), 1, + anon_sym_LBRACE, + ACTIONS(585), 1, + anon_sym_typeof, + ACTIONS(589), 1, + sym_nil, + ACTIONS(591), 1, + sym__string_start, + ACTIONS(695), 1, + sym_name, + ACTIONS(697), 1, + anon_sym_LPAREN, + STATE(208), 1, + sym__fntype_wrap, + STATE(294), 1, + sym_comment, + STATE(469), 1, + sym_type, + STATE(576), 1, + sym__fntype_gen, + ACTIONS(587), 2, + anon_sym_true, + anon_sym_false, + STATE(457), 2, + sym_string, + sym_boolean, + STATE(468), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [20220] = 15, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(531), 1, + anon_sym_LT, + ACTIONS(567), 1, + sym__string_start, + ACTIONS(609), 1, + anon_sym_LBRACE, + ACTIONS(615), 1, + anon_sym_typeof, + ACTIONS(617), 1, + sym_nil, + ACTIONS(699), 1, + sym_name, + ACTIONS(701), 1, + anon_sym_LPAREN, + STATE(206), 1, + sym__fntype_wrap, + STATE(295), 1, + sym_comment, + STATE(302), 1, + sym_type, + STATE(587), 1, + sym__fntype_gen, + ACTIONS(563), 2, + anon_sym_true, + anon_sym_false, + STATE(301), 2, + sym_string, + sym_boolean, + STATE(303), 8, + sym_singleton, + sym_namedtype, + sym_wraptype, + sym_dyntype, + sym_fntype, + sym_tbtype, + sym_bintype, + sym_untype, + [20275] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(296), 1, + sym_comment, + ACTIONS(133), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(131), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20307] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(297), 1, + sym_comment, + ACTIONS(125), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(123), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20339] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(298), 1, + sym_comment, + ACTIONS(121), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(119), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20371] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(299), 1, + sym_comment, + ACTIONS(129), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(127), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20403] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(300), 1, + sym_comment, + ACTIONS(113), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(111), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20435] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(301), 1, + sym_comment, + ACTIONS(89), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(87), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20467] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(703), 1, + anon_sym_AMP, + ACTIONS(705), 1, + anon_sym_PIPE, + ACTIONS(707), 1, + anon_sym_QMARK, + STATE(302), 1, + sym_comment, + ACTIONS(213), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(211), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [20505] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(303), 1, + sym_comment, + ACTIONS(149), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(147), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20537] = 16, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(709), 1, + anon_sym_elseif, + ACTIONS(711), 1, + anon_sym_else, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + STATE(304), 1, + sym_comment, + STATE(513), 1, + aux_sym_ifexp_repeat1, + STATE(582), 1, + sym__ifexp_elseif, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [20593] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(305), 1, + sym_comment, + ACTIONS(101), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(99), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20625] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(306), 1, + sym_comment, + ACTIONS(145), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(143), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20657] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(307), 1, + sym_comment, + ACTIONS(179), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(177), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20689] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(308), 1, + sym_comment, + ACTIONS(197), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(195), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20721] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(703), 1, + anon_sym_AMP, + ACTIONS(705), 1, + anon_sym_PIPE, + ACTIONS(707), 1, + anon_sym_QMARK, + STATE(309), 1, + sym_comment, + ACTIONS(205), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(203), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [20759] = 16, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(709), 1, + anon_sym_elseif, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(717), 1, + anon_sym_else, + STATE(310), 1, + sym_comment, + STATE(508), 1, + aux_sym_ifexp_repeat1, + STATE(582), 1, + sym__ifexp_elseif, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [20815] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(703), 1, + anon_sym_AMP, + ACTIONS(705), 1, + anon_sym_PIPE, + ACTIONS(707), 1, + anon_sym_QMARK, + STATE(311), 1, + sym_comment, + ACTIONS(133), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(131), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [20853] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(312), 1, + sym_comment, + ACTIONS(175), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(173), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20885] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(313), 1, + sym_comment, + ACTIONS(137), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(135), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20917] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(719), 1, + anon_sym_LT, + STATE(314), 1, + sym_comment, + ACTIONS(187), 2, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(185), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20951] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(315), 1, + sym_comment, + ACTIONS(201), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(199), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [20983] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(707), 1, + anon_sym_QMARK, + STATE(316), 1, + sym_comment, + ACTIONS(165), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(163), 17, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + [21017] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(703), 1, + anon_sym_AMP, + ACTIONS(707), 1, + anon_sym_QMARK, + STATE(317), 1, + sym_comment, + ACTIONS(165), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(163), 16, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_PIPE, + [21053] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(703), 1, + anon_sym_AMP, + ACTIONS(705), 1, + anon_sym_PIPE, + ACTIONS(707), 1, + anon_sym_QMARK, + STATE(318), 1, + sym_comment, + ACTIONS(105), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(103), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [21091] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(319), 1, + sym_comment, + ACTIONS(105), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(103), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [21123] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(320), 1, + sym_comment, + ACTIONS(117), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(115), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [21155] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(725), 1, + anon_sym_EQ, + STATE(321), 1, + sym_comment, + ACTIONS(721), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(723), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21189] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(322), 1, + sym_comment, + ACTIONS(153), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(151), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [21221] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(323), 1, + sym_comment, + ACTIONS(85), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(83), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [21253] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(324), 1, + sym_comment, + ACTIONS(161), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(159), 18, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [21285] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(325), 1, + sym_comment, + ACTIONS(727), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(729), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21316] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(326), 1, + sym_comment, + ACTIONS(731), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(733), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21347] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(327), 1, + sym_comment, + ACTIONS(735), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(737), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21378] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + STATE(328), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(739), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [21427] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(329), 1, + sym_comment, + ACTIONS(741), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(743), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21458] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(330), 1, + sym_comment, + ACTIONS(625), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(627), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21489] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(749), 1, + anon_sym_SEMI, + STATE(331), 1, + sym_comment, + ACTIONS(745), 2, + ts_builtin_sym_end, + anon_sym_LPAREN, + ACTIONS(747), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21522] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(332), 1, + sym_comment, + ACTIONS(751), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(753), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21553] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(333), 1, + sym_comment, + ACTIONS(755), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(757), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21584] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(334), 1, + sym_comment, + ACTIONS(759), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(761), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21615] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(335), 1, + sym_comment, + ACTIONS(763), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(765), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21646] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + STATE(336), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [21695] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(337), 1, + sym_comment, + ACTIONS(769), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(771), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21726] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(338), 1, + sym_comment, + ACTIONS(773), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(775), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21757] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(339), 1, + sym_comment, + ACTIONS(777), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(779), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21788] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(340), 1, + sym_comment, + ACTIONS(781), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(783), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21819] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + STATE(341), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(785), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [21868] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(342), 1, + sym_comment, + ACTIONS(787), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(789), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21899] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(343), 1, + sym_comment, + ACTIONS(791), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(793), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21930] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(344), 1, + sym_comment, + ACTIONS(795), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(797), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21961] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(345), 1, + sym_comment, + ACTIONS(799), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(801), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [21992] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(346), 1, + sym_comment, + ACTIONS(803), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(805), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22023] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(225), 1, + anon_sym_COLON, + STATE(347), 1, + sym_comment, + STATE(534), 1, + sym__method_name, + ACTIONS(223), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(221), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22058] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(348), 1, + sym_comment, + ACTIONS(807), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(809), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22089] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(349), 1, + sym_comment, + ACTIONS(811), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(813), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22120] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(350), 1, + sym_comment, + ACTIONS(815), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(817), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22151] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(351), 1, + sym_comment, + ACTIONS(819), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(821), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22182] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(352), 1, + sym_comment, + ACTIONS(823), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(825), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22213] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(353), 1, + sym_comment, + ACTIONS(827), 3, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_LPAREN, + ACTIONS(829), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22244] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(831), 1, + anon_sym_do, + ACTIONS(833), 1, + anon_sym_COMMA, + STATE(354), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22294] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(355), 1, + sym_comment, + ACTIONS(401), 2, + ts_builtin_sym_end, + anon_sym_LPAREN, + ACTIONS(406), 17, + anon_sym_return, + anon_sym_local, + anon_sym_function, + anon_sym_for, + anon_sym_do, + anon_sym_end, + anon_sym_if, + anon_sym_elseif, + anon_sym_else, + anon_sym_repeat, + anon_sym_until, + anon_sym_while, + sym_break_stmt, + sym_continue_stmt, + anon_sym_export, + anon_sym_type, + sym_name, + [22324] = 14, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(835), 1, + anon_sym_elseif, + ACTIONS(837), 1, + anon_sym_else, + STATE(356), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22374] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(293), 1, + sym_interp_brace_close, + ACTIONS(841), 1, + anon_sym_or, + ACTIONS(843), 1, + anon_sym_and, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(357), 1, + sym_comment, + ACTIONS(839), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(845), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22421] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(358), 1, + sym_comment, + ACTIONS(141), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(139), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22450] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(359), 1, + sym_comment, + ACTIONS(343), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(341), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22479] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(360), 1, + sym_comment, + ACTIONS(363), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(361), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22508] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(361), 1, + sym_comment, + ACTIONS(279), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(277), 7, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22549] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(362), 1, + sym_comment, + ACTIONS(261), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(259), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22578] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(859), 1, + anon_sym_RPAREN, + STATE(363), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22625] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(364), 1, + sym_comment, + ACTIONS(355), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(353), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22654] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(365), 1, + sym_comment, + ACTIONS(253), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(251), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22683] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(366), 1, + sym_comment, + ACTIONS(351), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(349), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22712] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(861), 1, + anon_sym_COMMA, + STATE(367), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22759] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(317), 1, + sym_interp_brace_close, + ACTIONS(841), 1, + anon_sym_or, + ACTIONS(843), 1, + anon_sym_and, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(368), 1, + sym_comment, + ACTIONS(839), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(845), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22806] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(369), 1, + sym_comment, + ACTIONS(241), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(239), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22835] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(370), 1, + sym_comment, + ACTIONS(311), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(309), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22864] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(863), 1, + anon_sym_RPAREN, + STATE(371), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22911] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(372), 1, + sym_comment, + ACTIONS(307), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(305), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [22940] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(865), 1, + anon_sym_then, + STATE(373), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [22987] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(374), 1, + sym_comment, + ACTIONS(257), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(255), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23016] = 12, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(843), 1, + anon_sym_and, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(375), 1, + sym_comment, + ACTIONS(277), 2, + sym_interp_brace_close, + anon_sym_or, + ACTIONS(839), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(845), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23061] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(376), 1, + sym_comment, + ACTIONS(327), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(325), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23090] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(867), 1, + anon_sym_RBRACK, + STATE(377), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23137] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(378), 1, + sym_comment, + ACTIONS(347), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(345), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23166] = 11, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(379), 1, + sym_comment, + ACTIONS(839), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(277), 3, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(845), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23209] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(380), 1, + sym_comment, + ACTIONS(323), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(321), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23238] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(381), 1, + sym_comment, + ACTIONS(279), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(277), 10, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_DOT_DOT, + [23275] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(382), 1, + sym_comment, + ACTIONS(279), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(277), 13, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + [23308] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(383), 1, + sym_comment, + ACTIONS(279), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(277), 7, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23349] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(384), 1, + sym_comment, + ACTIONS(223), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(221), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23378] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(385), 1, + sym_comment, + ACTIONS(335), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(333), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23407] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(386), 1, + sym_comment, + ACTIONS(359), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(357), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23436] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(869), 1, + anon_sym_RPAREN, + STATE(387), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23483] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(388), 1, + sym_comment, + ACTIONS(271), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(269), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23512] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(389), 1, + sym_comment, + ACTIONS(279), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(277), 13, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + [23545] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(871), 1, + anon_sym_RPAREN, + STATE(390), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23592] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(873), 1, + anon_sym_RBRACK, + STATE(391), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23639] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(875), 1, + anon_sym_then, + STATE(392), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23686] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(877), 1, + anon_sym_then, + STATE(393), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23733] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(879), 1, + anon_sym_then, + STATE(394), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23780] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(881), 1, + anon_sym_then, + STATE(395), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23827] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + STATE(396), 1, + sym_comment, + ACTIONS(367), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(365), 13, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + [23860] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(397), 1, + sym_comment, + ACTIONS(331), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(329), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [23889] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(841), 1, + anon_sym_or, + ACTIONS(843), 1, + anon_sym_and, + ACTIONS(851), 1, + anon_sym_SLASH, + ACTIONS(853), 1, + anon_sym_DOT_DOT, + ACTIONS(855), 1, + anon_sym_CARET, + ACTIONS(857), 1, + anon_sym_COLON_COLON, + ACTIONS(883), 1, + sym_interp_brace_close, + STATE(398), 1, + sym_comment, + ACTIONS(839), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(847), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(849), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(845), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23936] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(885), 1, + anon_sym_RPAREN, + STATE(399), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [23983] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(887), 1, + anon_sym_RBRACK, + STATE(400), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [24030] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(889), 1, + anon_sym_do, + STATE(401), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [24077] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(402), 1, + sym_comment, + ACTIONS(275), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(273), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [24106] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(403), 1, + sym_comment, + ACTIONS(265), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(263), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [24135] = 13, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(285), 1, + anon_sym_SLASH, + ACTIONS(287), 1, + anon_sym_DOT_DOT, + ACTIONS(289), 1, + anon_sym_CARET, + ACTIONS(291), 1, + anon_sym_COLON_COLON, + ACTIONS(713), 1, + anon_sym_or, + ACTIONS(715), 1, + anon_sym_and, + ACTIONS(891), 1, + anon_sym_do, + STATE(404), 1, + sym_comment, + ACTIONS(281), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(297), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(283), 3, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + ACTIONS(303), 4, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [24182] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(405), 1, + sym_comment, + ACTIONS(93), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(91), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [24211] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(406), 1, + sym_comment, + ACTIONS(339), 3, + anon_sym_LT, + anon_sym_GT, + anon_sym_SLASH, + ACTIONS(337), 15, + sym_interp_brace_close, + anon_sym_or, + anon_sym_and, + anon_sym_EQ_EQ, + anon_sym_TILDE_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH_SLASH, + anon_sym_PERCENT, + anon_sym_DOT_DOT, + anon_sym_CARET, + anon_sym_COLON_COLON, + [24240] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(61), 1, + anon_sym_COLON, + ACTIONS(893), 1, + anon_sym_EQ, + ACTIONS(895), 1, + anon_sym_COMMA, + STATE(176), 1, + sym__assign, + STATE(407), 1, + sym_comment, + STATE(528), 1, + aux_sym__varlist_repeat1, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(897), 8, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + [24277] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(47), 1, + anon_sym_DOT, + STATE(408), 1, + sym_comment, + ACTIONS(45), 15, + sym__string_start, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [24304] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(47), 1, + anon_sym_DOT, + STATE(409), 1, + sym_comment, + ACTIONS(45), 15, + sym__string_start, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_CARET_EQ, + anon_sym_DOT_DOT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_LBRACE, + anon_sym_LBRACK, + anon_sym_LPAREN, + [24331] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(410), 1, + sym_comment, + ACTIONS(901), 7, + sym__string_start, + sym_interp_start, + anon_sym_POUND, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + sym_number, + ACTIONS(899), 8, + anon_sym_function, + anon_sym_if, + anon_sym_DASH, + anon_sym_not, + anon_sym_true, + anon_sym_false, + sym_nil, + sym_name, + [24357] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(411), 1, + sym_comment, + ACTIONS(903), 5, + anon_sym_typeof, + anon_sym_true, + anon_sym_false, + sym_nil, + sym_name, + ACTIONS(905), 5, + sym__string_start, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + [24378] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(412), 1, + sym_comment, + ACTIONS(907), 5, + anon_sym_typeof, + anon_sym_true, + anon_sym_false, + sym_nil, + sym_name, + ACTIONS(909), 5, + sym__string_start, + anon_sym_LT, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + [24399] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(583), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(911), 1, + sym_name, + ACTIONS(913), 1, + anon_sym_LPAREN, + STATE(413), 1, + sym_comment, + STATE(476), 1, + sym_genpack, + STATE(479), 1, + sym_variadic, + STATE(583), 1, + sym_typepack, + STATE(669), 1, + sym_generic, + STATE(480), 3, + sym__typepack_wrap, + sym__typepack_vrd, + sym__typepack_gen, + [24432] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(71), 1, + anon_sym_DOT, + ACTIONS(75), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(915), 1, + anon_sym_COLON, + ACTIONS(917), 1, + anon_sym_LT, + STATE(414), 1, + sym_comment, + ACTIONS(67), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [24458] = 10, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(31), 1, + anon_sym_LPAREN, + ACTIONS(919), 1, + sym_name, + STATE(3), 1, + sym__tbl_var, + STATE(415), 1, + sym_comment, + STATE(431), 1, + sym_var, + STATE(435), 1, + sym__prefixexp, + STATE(436), 1, + sym__tbl_method, + STATE(575), 1, + sym_prefixexp, + STATE(12), 2, + sym_exp_wrap, + sym_call_stmt, + [24490] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(915), 1, + anon_sym_COLON, + ACTIONS(917), 1, + anon_sym_LT, + ACTIONS(921), 1, + anon_sym_DOT, + STATE(416), 1, + sym_comment, + ACTIONS(67), 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [24513] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(75), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(923), 1, + anon_sym_DOT, + ACTIONS(925), 1, + anon_sym_LT, + STATE(417), 1, + sym_comment, + ACTIONS(67), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [24536] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(927), 1, + sym_name, + ACTIONS(929), 1, + anon_sym_RPAREN, + STATE(418), 1, + sym_comment, + STATE(546), 1, + sym_binding, + STATE(579), 1, + sym_vararg, + STATE(606), 1, + sym__paramlist, + STATE(607), 1, + sym__param_vararg, + [24564] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(927), 1, + sym_name, + ACTIONS(931), 1, + anon_sym_RPAREN, + STATE(419), 1, + sym_comment, + STATE(546), 1, + sym_binding, + STATE(579), 1, + sym_vararg, + STATE(607), 1, + sym__param_vararg, + STATE(694), 1, + sym__paramlist, + [24592] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(420), 1, + sym_comment, + STATE(502), 1, + sym_generic, + STATE(531), 1, + sym_genpackdef, + STATE(535), 1, + sym_genpack, + STATE(547), 1, + sym_genericdef, + STATE(612), 1, + sym__type_stmt_packlist, + STATE(650), 1, + sym__type_stmt_genlist, + [24620] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(917), 1, + anon_sym_LT, + ACTIONS(921), 1, + anon_sym_DOT, + ACTIONS(933), 1, + anon_sym_COLON, + STATE(421), 1, + sym_comment, + ACTIONS(67), 4, + anon_sym_RBRACE, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [24642] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(935), 1, + anon_sym_DOT, + ACTIONS(937), 1, + anon_sym_COLON, + ACTIONS(939), 1, + anon_sym_LT, + ACTIONS(941), 1, + anon_sym_LPAREN, + STATE(334), 1, + sym__fn_body, + STATE(422), 1, + sym_comment, + STATE(498), 1, + sym__tbl_fn_field, + STATE(520), 1, + sym__tbl_fn_member, + [24670] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(423), 1, + sym_comment, + STATE(502), 1, + sym_generic, + STATE(531), 1, + sym_genpackdef, + STATE(535), 1, + sym_genpack, + STATE(547), 1, + sym_genericdef, + STATE(612), 1, + sym__type_stmt_packlist, + STATE(632), 1, + sym__type_stmt_genlist, + [24698] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(927), 1, + sym_name, + ACTIONS(943), 1, + anon_sym_RPAREN, + STATE(424), 1, + sym_comment, + STATE(546), 1, + sym_binding, + STATE(579), 1, + sym_vararg, + STATE(607), 1, + sym__param_vararg, + STATE(681), 1, + sym__paramlist, + [24726] = 9, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(927), 1, + sym_name, + ACTIONS(945), 1, + anon_sym_RPAREN, + STATE(425), 1, + sym_comment, + STATE(546), 1, + sym_binding, + STATE(579), 1, + sym_vararg, + STATE(607), 1, + sym__param_vararg, + STATE(703), 1, + sym__paramlist, + [24754] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(925), 1, + anon_sym_LT, + ACTIONS(947), 1, + anon_sym_DOT, + STATE(426), 1, + sym_comment, + ACTIONS(67), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [24774] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(427), 1, + sym_comment, + STATE(502), 1, + sym_generic, + STATE(531), 1, + sym_genpackdef, + STATE(535), 1, + sym_genpack, + STATE(580), 1, + sym_genericdef, + STATE(649), 1, + sym__type_stmt_packlist, + [24799] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(949), 1, + anon_sym_COMMA, + ACTIONS(952), 1, + anon_sym_RPAREN, + STATE(428), 1, + sym_comment, + STATE(551), 1, + aux_sym__typelist_repeat1, + [24824] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(956), 1, + sym_name, + ACTIONS(958), 1, + anon_sym_RBRACE, + STATE(429), 1, + sym_comment, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(558), 1, + sym__tbtype_kv, + [24849] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(960), 1, + anon_sym_LT, + STATE(430), 1, + sym_comment, + ACTIONS(185), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [24866] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(61), 1, + anon_sym_COLON, + STATE(431), 1, + sym_comment, + ACTIONS(962), 2, + anon_sym_EQ, + anon_sym_COMMA, + ACTIONS(65), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + [24885] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(956), 1, + sym_name, + ACTIONS(958), 1, + anon_sym_RBRACE, + STATE(432), 1, + sym_comment, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(559), 1, + sym__tbtype_kv, + [24910] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(949), 1, + anon_sym_COMMA, + ACTIONS(964), 1, + anon_sym_RPAREN, + STATE(433), 1, + sym_comment, + STATE(551), 1, + aux_sym__typelist_repeat1, + [24935] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(949), 1, + anon_sym_COMMA, + ACTIONS(968), 1, + anon_sym_RPAREN, + STATE(434), 1, + sym_comment, + STATE(551), 1, + aux_sym__typelist_repeat1, + [24960] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(972), 1, + anon_sym_LBRACE, + ACTIONS(974), 1, + anon_sym_LPAREN, + ACTIONS(976), 1, + sym__string_start, + STATE(34), 1, + sym_arglist, + STATE(435), 1, + sym_comment, + STATE(19), 2, + sym_table, + sym_string, + [24983] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(972), 1, + anon_sym_LBRACE, + ACTIONS(974), 1, + anon_sym_LPAREN, + ACTIONS(976), 1, + sym__string_start, + STATE(42), 1, + sym_arglist, + STATE(436), 1, + sym_comment, + STATE(19), 2, + sym_table, + sym_string, + [25006] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(219), 1, + anon_sym_else, + ACTIONS(978), 1, + anon_sym_end, + ACTIONS(980), 1, + anon_sym_elseif, + STATE(437), 1, + sym_comment, + STATE(487), 1, + aux_sym_if_stmt_repeat1, + STATE(545), 1, + sym_elseif_clause, + STATE(692), 1, + sym_else_clause, + [25031] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(984), 1, + anon_sym_SEMI, + ACTIONS(986), 1, + anon_sym_else, + STATE(438), 1, + sym_comment, + ACTIONS(982), 4, + ts_builtin_sym_end, + anon_sym_end, + anon_sym_elseif, + anon_sym_until, + [25050] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(439), 1, + sym_comment, + STATE(502), 1, + sym_generic, + STATE(531), 1, + sym_genpackdef, + STATE(535), 1, + sym_genpack, + STATE(580), 1, + sym_genericdef, + STATE(622), 1, + sym__type_stmt_packlist, + [25075] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(219), 1, + anon_sym_else, + ACTIONS(980), 1, + anon_sym_elseif, + ACTIONS(988), 1, + anon_sym_end, + STATE(437), 1, + aux_sym_if_stmt_repeat1, + STATE(440), 1, + sym_comment, + STATE(545), 1, + sym_elseif_clause, + STATE(680), 1, + sym_else_clause, + [25100] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(441), 1, + sym_comment, + ACTIONS(990), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [25121] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(219), 1, + anon_sym_else, + ACTIONS(980), 1, + anon_sym_elseif, + ACTIONS(992), 1, + anon_sym_end, + STATE(442), 1, + sym_comment, + STATE(487), 1, + aux_sym_if_stmt_repeat1, + STATE(545), 1, + sym_elseif_clause, + STATE(693), 1, + sym_else_clause, + [25146] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(956), 1, + sym_name, + ACTIONS(994), 1, + anon_sym_RBRACE, + STATE(443), 1, + sym_comment, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(558), 1, + sym__tbtype_kv, + [25171] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(996), 1, + anon_sym_COMMA, + ACTIONS(998), 1, + anon_sym_RPAREN, + STATE(444), 1, + sym_comment, + STATE(551), 1, + aux_sym__typelist_repeat1, + [25196] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(445), 1, + sym_comment, + ACTIONS(1000), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [25217] = 8, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(956), 1, + sym_name, + ACTIONS(994), 1, + anon_sym_RBRACE, + STATE(446), 1, + sym_comment, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(559), 1, + sym__tbtype_kv, + [25242] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1002), 1, + anon_sym_LBRACE, + ACTIONS(1004), 1, + anon_sym_LPAREN, + ACTIONS(1006), 1, + sym__string_start, + STATE(238), 1, + sym_arglist, + STATE(447), 1, + sym_comment, + STATE(244), 2, + sym_table, + sym_string, + [25265] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1002), 1, + anon_sym_LBRACE, + ACTIONS(1004), 1, + anon_sym_LPAREN, + ACTIONS(1006), 1, + sym__string_start, + STATE(248), 1, + sym_arglist, + STATE(448), 1, + sym_comment, + STATE(244), 2, + sym_table, + sym_string, + [25288] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(81), 1, + anon_sym_DASH_GT, + STATE(449), 1, + sym_comment, + ACTIONS(77), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25305] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(450), 1, + sym_comment, + ACTIONS(159), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25319] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1008), 1, + sym_interp_content, + ACTIONS(1010), 1, + sym_interp_brace_open, + ACTIONS(1012), 1, + sym_interp_end, + STATE(451), 1, + sym_comment, + STATE(489), 1, + aux_sym_string_interp_repeat1, + STATE(521), 1, + sym_interp_exp, + [25341] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(927), 1, + sym_name, + STATE(452), 1, + sym_comment, + STATE(579), 1, + sym_vararg, + STATE(586), 1, + sym_binding, + STATE(711), 1, + sym__param_vararg, + [25363] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(1014), 1, + anon_sym_COMMA, + ACTIONS(1016), 1, + anon_sym_RPAREN, + STATE(453), 1, + sym_comment, + [25385] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(454), 1, + sym_comment, + STATE(500), 1, + sym_generic, + STATE(524), 1, + sym_genpack, + STATE(604), 1, + sym__genlist, + STATE(605), 1, + sym__genpack_list, + [25407] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1008), 1, + sym_interp_content, + ACTIONS(1010), 1, + sym_interp_brace_open, + ACTIONS(1019), 1, + sym_interp_end, + STATE(455), 1, + sym_comment, + STATE(485), 1, + aux_sym_string_interp_repeat1, + STATE(521), 1, + sym_interp_exp, + [25429] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1023), 1, + anon_sym_else, + STATE(456), 1, + sym_comment, + ACTIONS(1021), 4, + ts_builtin_sym_end, + anon_sym_end, + anon_sym_elseif, + anon_sym_until, + [25445] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(457), 1, + sym_comment, + ACTIONS(87), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25459] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(458), 1, + sym_comment, + ACTIONS(1025), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [25479] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(459), 1, + sym_comment, + ACTIONS(135), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25493] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(460), 1, + sym_comment, + ACTIONS(111), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25507] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(461), 1, + sym_comment, + ACTIONS(123), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25521] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(599), 1, + anon_sym_LBRACK, + ACTIONS(956), 1, + sym_name, + STATE(462), 1, + sym_comment, + STATE(549), 1, + sym__tbtype_index, + STATE(550), 1, + sym__tbtype_prop, + STATE(559), 1, + sym__tbtype_kv, + [25543] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(463), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(927), 1, + sym_name, + STATE(463), 1, + sym_comment, + STATE(579), 1, + sym_vararg, + STATE(586), 1, + sym_binding, + STATE(676), 1, + sym__param_vararg, + [25565] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1027), 1, + anon_sym_AMP, + ACTIONS(1029), 1, + anon_sym_QMARK, + STATE(464), 1, + sym_comment, + ACTIONS(163), 3, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_PIPE, + [25583] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1033), 1, + anon_sym_else, + STATE(465), 1, + sym_comment, + ACTIONS(1031), 4, + ts_builtin_sym_end, + anon_sym_end, + anon_sym_elseif, + anon_sym_until, + [25599] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(315), 1, + anon_sym_else, + STATE(466), 1, + sym_comment, + ACTIONS(313), 4, + ts_builtin_sym_end, + anon_sym_end, + anon_sym_elseif, + anon_sym_until, + [25615] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(467), 1, + sym_comment, + ACTIONS(173), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25629] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(468), 1, + sym_comment, + ACTIONS(147), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25643] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1027), 1, + anon_sym_AMP, + ACTIONS(1029), 1, + anon_sym_QMARK, + ACTIONS(1035), 1, + anon_sym_PIPE, + STATE(469), 1, + sym_comment, + ACTIONS(203), 2, + anon_sym_COMMA, + anon_sym_GT, + [25663] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(470), 1, + sym_comment, + ACTIONS(83), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25677] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(986), 1, + anon_sym_else, + STATE(471), 1, + sym_comment, + ACTIONS(982), 4, + ts_builtin_sym_end, + anon_sym_end, + anon_sym_elseif, + anon_sym_until, + [25693] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1027), 1, + anon_sym_AMP, + ACTIONS(1029), 1, + anon_sym_QMARK, + ACTIONS(1035), 1, + anon_sym_PIPE, + STATE(472), 1, + sym_comment, + ACTIONS(131), 2, + anon_sym_COMMA, + anon_sym_GT, + [25713] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(473), 1, + sym_comment, + STATE(500), 1, + sym_generic, + STATE(524), 1, + sym_genpack, + STATE(605), 1, + sym__genpack_list, + STATE(686), 1, + sym__genlist, + [25735] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(1014), 1, + anon_sym_COMMA, + ACTIONS(1037), 1, + anon_sym_RPAREN, + STATE(474), 1, + sym_comment, + [25757] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(475), 1, + sym_comment, + ACTIONS(99), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25771] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(476), 1, + sym_comment, + ACTIONS(177), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25785] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(477), 1, + sym_comment, + ACTIONS(131), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25799] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1029), 1, + anon_sym_QMARK, + STATE(478), 1, + sym_comment, + ACTIONS(163), 4, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + [25815] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(479), 1, + sym_comment, + ACTIONS(143), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25829] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(480), 1, + sym_comment, + ACTIONS(127), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25843] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(481), 1, + sym_comment, + ACTIONS(115), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25857] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(482), 1, + sym_comment, + STATE(500), 1, + sym_generic, + STATE(524), 1, + sym_genpack, + STATE(605), 1, + sym__genpack_list, + STATE(639), 1, + sym__genlist, + [25879] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(483), 1, + sym_comment, + ACTIONS(195), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25893] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(484), 1, + sym_comment, + ACTIONS(151), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [25907] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1008), 1, + sym_interp_content, + ACTIONS(1010), 1, + sym_interp_brace_open, + ACTIONS(1040), 1, + sym_interp_end, + STATE(485), 1, + sym_comment, + STATE(491), 1, + aux_sym_string_interp_repeat1, + STATE(521), 1, + sym_interp_exp, + [25929] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1027), 1, + anon_sym_AMP, + ACTIONS(1029), 1, + anon_sym_QMARK, + ACTIONS(1035), 1, + anon_sym_PIPE, + STATE(486), 1, + sym_comment, + ACTIONS(1042), 2, + anon_sym_COMMA, + anon_sym_GT, + [25949] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1044), 1, + anon_sym_end, + ACTIONS(1046), 1, + anon_sym_elseif, + ACTIONS(1049), 1, + anon_sym_else, + STATE(545), 1, + sym_elseif_clause, + STATE(487), 2, + sym_comment, + aux_sym_if_stmt_repeat1, + [25969] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(488), 1, + sym_comment, + ACTIONS(1014), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [25989] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1008), 1, + sym_interp_content, + ACTIONS(1010), 1, + sym_interp_brace_open, + ACTIONS(1051), 1, + sym_interp_end, + STATE(489), 1, + sym_comment, + STATE(491), 1, + aux_sym_string_interp_repeat1, + STATE(521), 1, + sym_interp_exp, + [26011] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(490), 1, + sym_comment, + ACTIONS(103), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [26025] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1053), 1, + sym_interp_content, + ACTIONS(1056), 1, + sym_interp_brace_open, + ACTIONS(1059), 1, + sym_interp_end, + STATE(521), 1, + sym_interp_exp, + STATE(491), 2, + sym_comment, + aux_sym_string_interp_repeat1, + [26045] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(492), 1, + sym_comment, + ACTIONS(119), 5, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_QMARK, + [26059] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + STATE(493), 1, + sym_comment, + ACTIONS(1061), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [26079] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1027), 1, + anon_sym_AMP, + ACTIONS(1029), 1, + anon_sym_QMARK, + ACTIONS(1035), 1, + anon_sym_PIPE, + STATE(494), 1, + sym_comment, + ACTIONS(103), 2, + anon_sym_COMMA, + anon_sym_GT, + [26099] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1027), 1, + anon_sym_AMP, + ACTIONS(1029), 1, + anon_sym_QMARK, + ACTIONS(1035), 1, + anon_sym_PIPE, + STATE(495), 1, + sym_comment, + ACTIONS(1063), 2, + anon_sym_COMMA, + anon_sym_GT, + [26119] = 7, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(1014), 1, + anon_sym_COMMA, + ACTIONS(1065), 1, + anon_sym_RPAREN, + STATE(496), 1, + sym_comment, + [26141] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1068), 1, + anon_sym_elseif, + ACTIONS(1071), 1, + anon_sym_else, + STATE(582), 1, + sym__ifexp_elseif, + STATE(497), 2, + sym_comment, + aux_sym_ifexp_repeat1, + [26158] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(935), 1, + anon_sym_DOT, + ACTIONS(937), 1, + anon_sym_COLON, + STATE(593), 1, + sym__tbl_fn_member, + STATE(498), 2, + sym__tbl_fn_field, + sym_comment, + [26175] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1073), 1, + sym_name, + ACTIONS(1075), 1, + anon_sym_function, + STATE(258), 1, + sym_binding, + STATE(321), 1, + sym__bindinglist, + STATE(499), 1, + sym_comment, + [26194] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1077), 1, + anon_sym_COMMA, + ACTIONS(1079), 1, + anon_sym_GT, + ACTIONS(1081), 1, + anon_sym_DOT_DOT_DOT, + STATE(500), 1, + sym_comment, + STATE(538), 1, + aux_sym__genlist_repeat1, + [26213] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(501), 1, + sym_comment, + ACTIONS(75), 4, + anon_sym_EQ, + anon_sym_COMMA, + anon_sym_GT, + anon_sym_DOT_DOT_DOT, + [26226] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1081), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1083), 1, + anon_sym_EQ, + STATE(502), 1, + sym_comment, + ACTIONS(1085), 2, + anon_sym_COMMA, + anon_sym_GT, + [26243] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(503), 1, + sym_comment, + STATE(535), 1, + sym_genpack, + STATE(581), 1, + sym_genpackdef, + STATE(669), 1, + sym_generic, + [26262] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1090), 1, + anon_sym_RBRACE, + ACTIONS(1087), 2, + anon_sym_SEMI, + anon_sym_COMMA, + STATE(504), 2, + sym_comment, + aux_sym__tbtype_kvlist_repeat1, + [26277] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(653), 1, + anon_sym_COMMA, + ACTIONS(666), 1, + anon_sym_in, + ACTIONS(1092), 1, + anon_sym_EQ, + STATE(239), 1, + aux_sym__bindinglist_repeat1, + STATE(505), 1, + sym_comment, + [26296] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1096), 1, + anon_sym_else, + STATE(506), 1, + sym_comment, + ACTIONS(1094), 3, + anon_sym_end, + anon_sym_elseif, + anon_sym_until, + [26311] = 4, + ACTIONS(3), 1, + sym__comment_start, + STATE(507), 1, + sym_comment, + ACTIONS(1098), 2, + anon_sym_DOT, + anon_sym_COLON, + ACTIONS(1100), 2, + anon_sym_LT, + anon_sym_LPAREN, + [26326] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(709), 1, + anon_sym_elseif, + ACTIONS(1102), 1, + anon_sym_else, + STATE(497), 1, + aux_sym_ifexp_repeat1, + STATE(508), 1, + sym_comment, + STATE(582), 1, + sym__ifexp_elseif, + [26345] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(497), 1, + anon_sym_RBRACE, + STATE(509), 1, + sym_comment, + STATE(518), 1, + aux_sym_fieldlist_repeat1, + ACTIONS(1104), 2, + anon_sym_SEMI, + anon_sym_COMMA, + [26362] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(1106), 1, + anon_sym_RBRACK, + STATE(510), 1, + sym_comment, + [26381] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1108), 1, + anon_sym_SEMI, + ACTIONS(1110), 1, + anon_sym_COMMA, + ACTIONS(1112), 1, + anon_sym_RBRACE, + STATE(511), 1, + sym_comment, + STATE(519), 1, + aux_sym__tbtype_kvlist_repeat1, + [26400] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(512), 1, + sym_comment, + STATE(524), 1, + sym_genpack, + STATE(556), 1, + sym_generic, + STATE(685), 1, + sym__genpack_list, + [26419] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(709), 1, + anon_sym_elseif, + ACTIONS(1114), 1, + anon_sym_else, + STATE(497), 1, + aux_sym_ifexp_repeat1, + STATE(513), 1, + sym_comment, + STATE(582), 1, + sym__ifexp_elseif, + [26438] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1118), 1, + anon_sym_RBRACE, + STATE(509), 1, + aux_sym_fieldlist_repeat1, + STATE(514), 1, + sym_comment, + ACTIONS(1116), 2, + anon_sym_SEMI, + anon_sym_COMMA, + [26455] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(1120), 1, + anon_sym_RPAREN, + STATE(515), 1, + sym_comment, + [26474] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(516), 1, + sym_comment, + STATE(524), 1, + sym_genpack, + STATE(556), 1, + sym_generic, + STATE(715), 1, + sym__genpack_list, + [26493] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(167), 1, + anon_sym_QMARK, + ACTIONS(229), 1, + anon_sym_AMP, + ACTIONS(231), 1, + anon_sym_PIPE, + ACTIONS(1122), 1, + anon_sym_RBRACE, + STATE(517), 1, + sym_comment, + [26512] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1127), 1, + anon_sym_RBRACE, + ACTIONS(1124), 2, + anon_sym_SEMI, + anon_sym_COMMA, + STATE(518), 2, + sym_comment, + aux_sym_fieldlist_repeat1, + [26527] = 6, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1129), 1, + anon_sym_SEMI, + ACTIONS(1131), 1, + anon_sym_COMMA, + ACTIONS(1133), 1, + anon_sym_RBRACE, + STATE(504), 1, + aux_sym__tbtype_kvlist_repeat1, + STATE(519), 1, + sym_comment, + [26546] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(939), 1, + anon_sym_LT, + ACTIONS(941), 1, + anon_sym_LPAREN, + STATE(351), 1, + sym__fn_body, + STATE(520), 1, + sym_comment, + [26562] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(521), 1, + sym_comment, + ACTIONS(1135), 3, + sym_interp_content, + sym_interp_brace_open, + sym_interp_end, + [26574] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1137), 1, + anon_sym_COMMA, + ACTIONS(1139), 1, + anon_sym_GT, + STATE(522), 1, + sym_comment, + STATE(525), 1, + aux_sym__genpack_list_repeat1, + [26590] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1141), 1, + anon_sym_LT, + ACTIONS(1143), 1, + anon_sym_LPAREN, + STATE(386), 1, + sym__fn_body, + STATE(523), 1, + sym_comment, + [26606] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1137), 1, + anon_sym_COMMA, + ACTIONS(1145), 1, + anon_sym_GT, + STATE(522), 1, + aux_sym__genpack_list_repeat1, + STATE(524), 1, + sym_comment, + [26622] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1147), 1, + anon_sym_COMMA, + ACTIONS(1150), 1, + anon_sym_GT, + STATE(525), 2, + sym_comment, + aux_sym__genpack_list_repeat1, + [26636] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1152), 1, + anon_sym_COMMA, + ACTIONS(1154), 1, + anon_sym_RPAREN, + STATE(526), 1, + sym_comment, + STATE(537), 1, + aux_sym__paramlist_repeat1, + [26652] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(527), 1, + sym_comment, + STATE(541), 1, + sym_generic, + STATE(580), 1, + sym_genericdef, + [26668] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(895), 1, + anon_sym_COMMA, + ACTIONS(1156), 1, + anon_sym_EQ, + STATE(528), 1, + sym_comment, + STATE(557), 1, + aux_sym__varlist_repeat1, + [26684] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1061), 1, + anon_sym_RPAREN, + ACTIONS(1158), 1, + anon_sym_COMMA, + STATE(529), 2, + sym_comment, + aux_sym__typelist_repeat1, + [26698] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1161), 1, + anon_sym_COMMA, + ACTIONS(1164), 1, + anon_sym_GT, + STATE(530), 2, + sym_comment, + aux_sym__typeparamlist_repeat1, + [26712] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1166), 1, + anon_sym_COMMA, + ACTIONS(1168), 1, + anon_sym_GT, + STATE(531), 1, + sym_comment, + STATE(561), 1, + aux_sym__type_stmt_packlist_repeat1, + [26728] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(927), 1, + sym_name, + STATE(505), 1, + sym_binding, + STATE(532), 1, + sym_comment, + STATE(658), 1, + sym__bindinglist, + [26744] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(533), 1, + sym_comment, + ACTIONS(1127), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [26756] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(534), 1, + sym_comment, + ACTIONS(1170), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + [26768] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1172), 1, + anon_sym_EQ, + STATE(535), 1, + sym_comment, + ACTIONS(1174), 2, + anon_sym_COMMA, + anon_sym_GT, + [26782] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1176), 1, + anon_sym_COMMA, + ACTIONS(1179), 1, + anon_sym_GT, + STATE(536), 2, + sym_comment, + aux_sym__genlist_repeat1, + [26796] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1181), 1, + anon_sym_COMMA, + ACTIONS(1184), 1, + anon_sym_RPAREN, + STATE(537), 2, + sym_comment, + aux_sym__paramlist_repeat1, + [26810] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1186), 1, + anon_sym_COMMA, + ACTIONS(1188), 1, + anon_sym_GT, + STATE(536), 1, + aux_sym__genlist_repeat1, + STATE(538), 1, + sym_comment, + [26826] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(539), 1, + sym_comment, + ACTIONS(1190), 3, + sym_interp_content, + sym_interp_brace_open, + sym_interp_end, + [26838] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1192), 1, + anon_sym_COMMA, + ACTIONS(1195), 1, + anon_sym_GT, + STATE(540), 2, + sym_comment, + aux_sym__type_stmt_packlist_repeat1, + [26852] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1083), 1, + anon_sym_EQ, + STATE(541), 1, + sym_comment, + ACTIONS(1085), 2, + anon_sym_COMMA, + anon_sym_GT, + [26866] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(939), 1, + anon_sym_LT, + ACTIONS(941), 1, + anon_sym_LPAREN, + STATE(343), 1, + sym__fn_body, + STATE(542), 1, + sym_comment, + [26882] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(543), 1, + sym_comment, + STATE(589), 1, + sym_genpack, + STATE(669), 1, + sym_generic, + [26898] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1197), 1, + anon_sym_COMMA, + ACTIONS(1200), 1, + anon_sym_GT, + STATE(544), 2, + sym_comment, + aux_sym__type_stmt_genlist_repeat1, + [26912] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1204), 1, + anon_sym_else, + STATE(545), 1, + sym_comment, + ACTIONS(1202), 2, + anon_sym_end, + anon_sym_elseif, + [26926] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1206), 1, + anon_sym_COMMA, + ACTIONS(1208), 1, + anon_sym_RPAREN, + STATE(526), 1, + aux_sym__paramlist_repeat1, + STATE(546), 1, + sym_comment, + [26942] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1210), 1, + anon_sym_COMMA, + ACTIONS(1212), 1, + anon_sym_GT, + STATE(547), 1, + sym_comment, + STATE(563), 1, + aux_sym__type_stmt_genlist_repeat1, + [26958] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1216), 1, + anon_sym_else, + STATE(548), 1, + sym_comment, + ACTIONS(1214), 2, + anon_sym_end, + anon_sym_elseif, + [26972] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(549), 1, + sym_comment, + ACTIONS(1218), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [26984] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(550), 1, + sym_comment, + ACTIONS(1220), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [26996] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1222), 1, + anon_sym_COMMA, + ACTIONS(1224), 1, + anon_sym_RPAREN, + STATE(529), 1, + aux_sym__typelist_repeat1, + STATE(551), 1, + sym_comment, + [27012] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1226), 1, + anon_sym_COMMA, + ACTIONS(1228), 1, + anon_sym_GT, + STATE(530), 1, + aux_sym__typeparamlist_repeat1, + STATE(552), 1, + sym_comment, + [27028] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1230), 1, + anon_sym_COMMA, + ACTIONS(1232), 1, + anon_sym_RPAREN, + STATE(553), 1, + sym_comment, + STATE(565), 1, + aux_sym__fntype_paramlist_repeat1, + [27044] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(554), 1, + sym_comment, + ACTIONS(1234), 3, + sym__string_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + [27056] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1236), 1, + anon_sym_COMMA, + ACTIONS(1239), 1, + anon_sym_RPAREN, + STATE(555), 2, + sym_comment, + aux_sym__fntype_paramlist_repeat1, + [27070] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1081), 1, + anon_sym_DOT_DOT_DOT, + STATE(556), 1, + sym_comment, + ACTIONS(1179), 2, + anon_sym_COMMA, + anon_sym_GT, + [27084] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(962), 1, + anon_sym_EQ, + ACTIONS(1241), 1, + anon_sym_COMMA, + STATE(557), 2, + sym_comment, + aux_sym__varlist_repeat1, + [27098] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(558), 1, + sym_comment, + ACTIONS(1244), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [27110] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(559), 1, + sym_comment, + ACTIONS(1244), 3, + anon_sym_SEMI, + anon_sym_COMMA, + anon_sym_RBRACE, + [27122] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(939), 1, + anon_sym_LT, + ACTIONS(941), 1, + anon_sym_LPAREN, + STATE(95), 1, + sym__fn_body, + STATE(560), 1, + sym_comment, + [27138] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1166), 1, + anon_sym_COMMA, + ACTIONS(1246), 1, + anon_sym_GT, + STATE(540), 1, + aux_sym__type_stmt_packlist_repeat1, + STATE(561), 1, + sym_comment, + [27154] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(562), 1, + sym_comment, + ACTIONS(1248), 3, + sym_interp_content, + sym_interp_brace_open, + sym_interp_end, + [27166] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1250), 1, + anon_sym_COMMA, + ACTIONS(1252), 1, + anon_sym_GT, + STATE(544), 1, + aux_sym__type_stmt_genlist_repeat1, + STATE(563), 1, + sym_comment, + [27182] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1226), 1, + anon_sym_COMMA, + ACTIONS(1254), 1, + anon_sym_GT, + STATE(552), 1, + aux_sym__typeparamlist_repeat1, + STATE(564), 1, + sym_comment, + [27198] = 5, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1256), 1, + anon_sym_COMMA, + ACTIONS(1258), 1, + anon_sym_RPAREN, + STATE(555), 1, + aux_sym__fntype_paramlist_repeat1, + STATE(565), 1, + sym_comment, + [27214] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1260), 1, + anon_sym_EQ, + ACTIONS(1262), 1, + anon_sym_LT, + STATE(566), 1, + sym_comment, + [27227] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(567), 1, + sym_comment, + ACTIONS(1239), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [27238] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1264), 1, + sym__string_content, + ACTIONS(1266), 1, + sym__string_end, + STATE(568), 1, + sym_comment, + [27251] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1268), 1, + sym__string_content, + ACTIONS(1270), 1, + sym__string_end, + STATE(569), 1, + sym_comment, + [27264] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(927), 1, + sym_name, + STATE(570), 1, + sym_comment, + STATE(586), 1, + sym_binding, + [27277] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1272), 1, + sym__string_content, + ACTIONS(1274), 1, + sym__string_end, + STATE(571), 1, + sym_comment, + [27290] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1276), 1, + anon_sym_LPAREN, + STATE(211), 1, + sym__fntype_wrap, + STATE(572), 1, + sym_comment, + [27303] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1278), 1, + anon_sym_EQ, + ACTIONS(1280), 1, + anon_sym_LT, + STATE(573), 1, + sym_comment, + [27316] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(574), 1, + sym_comment, + ACTIONS(1063), 2, + anon_sym_COMMA, + anon_sym_GT, + [27327] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1282), 1, + anon_sym_COLON, + STATE(534), 1, + sym__method_name, + STATE(575), 1, + sym_comment, + [27340] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1276), 1, + anon_sym_LPAREN, + STATE(216), 1, + sym__fntype_wrap, + STATE(576), 1, + sym_comment, + [27353] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1284), 1, + sym__string_content, + ACTIONS(1286), 1, + sym__string_end, + STATE(577), 1, + sym_comment, + [27366] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(911), 1, + sym_name, + STATE(578), 1, + sym_comment, + STATE(585), 1, + sym_generic, + [27379] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1288), 1, + anon_sym_COLON, + ACTIONS(1290), 1, + anon_sym_RPAREN, + STATE(579), 1, + sym_comment, + [27392] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(580), 1, + sym_comment, + ACTIONS(1200), 2, + anon_sym_COMMA, + anon_sym_GT, + [27403] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(581), 1, + sym_comment, + ACTIONS(1195), 2, + anon_sym_COMMA, + anon_sym_GT, + [27414] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1292), 1, + anon_sym_elseif, + ACTIONS(1294), 1, + anon_sym_else, + STATE(582), 1, + sym_comment, + [27427] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(583), 1, + sym_comment, + ACTIONS(1296), 2, + anon_sym_COMMA, + anon_sym_GT, + [27438] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(927), 1, + sym_name, + STATE(261), 1, + sym_binding, + STATE(584), 1, + sym_comment, + [27451] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(585), 1, + sym_comment, + ACTIONS(1179), 2, + anon_sym_COMMA, + anon_sym_GT, + [27462] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(586), 1, + sym_comment, + ACTIONS(1298), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [27473] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1276), 1, + anon_sym_LPAREN, + STATE(222), 1, + sym__fntype_wrap, + STATE(587), 1, + sym_comment, + [27486] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1300), 1, + sym__comment_content, + ACTIONS(1302), 1, + sym__comment_end, + STATE(588), 1, + sym_comment, + [27499] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(589), 1, + sym_comment, + ACTIONS(1150), 2, + anon_sym_COMMA, + anon_sym_GT, + [27510] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(590), 1, + sym_comment, + ACTIONS(77), 2, + anon_sym_COMMA, + anon_sym_GT, + [27521] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1304), 1, + sym__string_content, + ACTIONS(1306), 1, + sym__string_end, + STATE(591), 1, + sym_comment, + [27534] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(592), 1, + sym_comment, + ACTIONS(1164), 2, + anon_sym_COMMA, + anon_sym_GT, + [27545] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(593), 1, + sym_comment, + ACTIONS(1308), 2, + anon_sym_LT, + anon_sym_LPAREN, + [27556] = 4, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1276), 1, + anon_sym_LPAREN, + STATE(209), 1, + sym__fntype_wrap, + STATE(594), 1, + sym_comment, + [27569] = 3, + ACTIONS(3), 1, + sym__comment_start, + STATE(595), 1, + sym_comment, + ACTIONS(1310), 2, + anon_sym_LT, + anon_sym_LPAREN, + [27580] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1312), 1, + anon_sym_RBRACE, + STATE(596), 1, + sym_comment, + [27590] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1314), 1, + anon_sym_end, + STATE(597), 1, + sym_comment, + [27600] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1316), 1, + anon_sym_DOT_DOT_DOT, + STATE(598), 1, + sym_comment, + [27610] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1318), 1, + anon_sym_EQ, + STATE(599), 1, + sym_comment, + [27620] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1320), 1, + sym_name, + STATE(600), 1, + sym_comment, + [27630] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1322), 1, + sym_name, + STATE(601), 1, + sym_comment, + [27640] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1324), 1, + anon_sym_DOT_DOT_DOT, + STATE(602), 1, + sym_comment, + [27650] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1326), 1, + anon_sym_RPAREN, + STATE(603), 1, + sym_comment, + [27660] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1328), 1, + anon_sym_GT, + STATE(604), 1, + sym_comment, + [27670] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1079), 1, + anon_sym_GT, + STATE(605), 1, + sym_comment, + [27680] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1330), 1, + anon_sym_RPAREN, + STATE(606), 1, + sym_comment, + [27690] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1208), 1, + anon_sym_RPAREN, + STATE(607), 1, + sym_comment, + [27700] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1332), 1, + anon_sym_LPAREN, + STATE(608), 1, + sym_comment, + [27710] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1334), 1, + anon_sym_do, + STATE(609), 1, + sym_comment, + [27720] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1336), 1, + anon_sym_end, + STATE(610), 1, + sym_comment, + [27730] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1338), 1, + sym__string_end, + STATE(611), 1, + sym_comment, + [27740] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1212), 1, + anon_sym_GT, + STATE(612), 1, + sym_comment, + [27750] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1340), 1, + anon_sym_end, + STATE(613), 1, + sym_comment, + [27760] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1342), 1, + anon_sym_end, + STATE(614), 1, + sym_comment, + [27770] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1344), 1, + anon_sym_end, + STATE(615), 1, + sym_comment, + [27780] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1346), 1, + anon_sym_, + STATE(616), 1, + sym_comment, + [27790] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1348), 1, + sym_name, + STATE(617), 1, + sym_comment, + [27800] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1350), 1, + anon_sym_RPAREN, + STATE(618), 1, + sym_comment, + [27810] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1352), 1, + anon_sym_end, + STATE(619), 1, + sym_comment, + [27820] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1354), 1, + anon_sym_LPAREN, + STATE(620), 1, + sym_comment, + [27830] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1356), 1, + anon_sym_end, + STATE(621), 1, + sym_comment, + [27840] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1358), 1, + anon_sym_GT, + STATE(622), 1, + sym_comment, + [27850] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1360), 1, + sym_name, + STATE(623), 1, + sym_comment, + [27860] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1362), 1, + anon_sym_EQ, + STATE(624), 1, + sym_comment, + [27870] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1364), 1, + sym__string_end, + STATE(625), 1, + sym_comment, + [27880] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1366), 1, + anon_sym_end, + STATE(626), 1, + sym_comment, + [27890] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1368), 1, + anon_sym_RBRACE, + STATE(627), 1, + sym_comment, + [27900] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1370), 1, + anon_sym_RPAREN, + STATE(628), 1, + sym_comment, + [27910] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1372), 1, + anon_sym_RPAREN, + STATE(629), 1, + sym_comment, + [27920] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1374), 1, + anon_sym_RPAREN, + STATE(630), 1, + sym_comment, + [27930] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1376), 1, + anon_sym_GT, + STATE(631), 1, + sym_comment, + [27940] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1378), 1, + anon_sym_GT, + STATE(632), 1, + sym_comment, + [27950] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1380), 1, + anon_sym_RPAREN, + STATE(633), 1, + sym_comment, + [27960] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1382), 1, + anon_sym_end, + STATE(634), 1, + sym_comment, + [27970] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(503), 1, + anon_sym_RBRACE, + STATE(635), 1, + sym_comment, + [27980] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1384), 1, + anon_sym_end, + STATE(636), 1, + sym_comment, + [27990] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1386), 1, + anon_sym_RBRACE, + STATE(637), 1, + sym_comment, + [28000] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1388), 1, + sym_name, + STATE(638), 1, + sym_comment, + [28010] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1390), 1, + anon_sym_GT, + STATE(639), 1, + sym_comment, + [28020] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1392), 1, + sym_name, + STATE(640), 1, + sym_comment, + [28030] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1394), 1, + anon_sym_end, + STATE(641), 1, + sym_comment, + [28040] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1396), 1, + sym_name, + STATE(642), 1, + sym_comment, + [28050] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1398), 1, + anon_sym_RBRACE, + STATE(643), 1, + sym_comment, + [28060] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1400), 1, + sym_name, + STATE(644), 1, + sym_comment, + [28070] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1402), 1, + anon_sym_type, + STATE(645), 1, + sym_comment, + [28080] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1404), 1, + anon_sym_RBRACE, + STATE(646), 1, + sym_comment, + [28090] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1406), 1, + anon_sym_until, + STATE(647), 1, + sym_comment, + [28100] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1408), 1, + anon_sym_end, + STATE(648), 1, + sym_comment, + [28110] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1410), 1, + anon_sym_GT, + STATE(649), 1, + sym_comment, + [28120] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1412), 1, + anon_sym_GT, + STATE(650), 1, + sym_comment, + [28130] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(81), 1, + anon_sym_DASH_GT, + STATE(651), 1, + sym_comment, + [28140] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1414), 1, + anon_sym_GT, + STATE(652), 1, + sym_comment, + [28150] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1416), 1, + anon_sym_RPAREN, + STATE(653), 1, + sym_comment, + [28160] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1418), 1, + anon_sym_end, + STATE(654), 1, + sym_comment, + [28170] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1420), 1, + anon_sym_RPAREN, + STATE(655), 1, + sym_comment, + [28180] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1422), 1, + anon_sym_RPAREN, + STATE(656), 1, + sym_comment, + [28190] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1424), 1, + anon_sym_RBRACE, + STATE(657), 1, + sym_comment, + [28200] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1426), 1, + anon_sym_in, + STATE(658), 1, + sym_comment, + [28210] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1232), 1, + anon_sym_RPAREN, + STATE(659), 1, + sym_comment, + [28220] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1428), 1, + anon_sym_end, + STATE(660), 1, + sym_comment, + [28230] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1430), 1, + anon_sym_RPAREN, + STATE(661), 1, + sym_comment, + [28240] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1432), 1, + anon_sym_end, + STATE(662), 1, + sym_comment, + [28250] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1434), 1, + anon_sym_GT, + STATE(663), 1, + sym_comment, + [28260] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(933), 1, + anon_sym_COLON, + STATE(664), 1, + sym_comment, + [28270] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1436), 1, + sym_name, + STATE(665), 1, + sym_comment, + [28280] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1438), 1, + anon_sym_end, + STATE(666), 1, + sym_comment, + [28290] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1440), 1, + anon_sym_end, + STATE(667), 1, + sym_comment, + [28300] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1442), 1, + anon_sym_COLON, + STATE(668), 1, + sym_comment, + [28310] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1081), 1, + anon_sym_DOT_DOT_DOT, + STATE(669), 1, + sym_comment, + [28320] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1444), 1, + anon_sym_end, + STATE(670), 1, + sym_comment, + [28330] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1446), 1, + sym_name, + STATE(671), 1, + sym_comment, + [28340] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1448), 1, + anon_sym_end, + STATE(672), 1, + sym_comment, + [28350] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1450), 1, + sym__string_end, + STATE(673), 1, + sym_comment, + [28360] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1452), 1, + anon_sym_RBRACE, + STATE(674), 1, + sym_comment, + [28370] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1454), 1, + anon_sym_end, + STATE(675), 1, + sym_comment, + [28380] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1456), 1, + anon_sym_RPAREN, + STATE(676), 1, + sym_comment, + [28390] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1458), 1, + anon_sym_RBRACE, + STATE(677), 1, + sym_comment, + [28400] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1460), 1, + anon_sym_end, + STATE(678), 1, + sym_comment, + [28410] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1462), 1, + sym_name, + STATE(679), 1, + sym_comment, + [28420] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1464), 1, + anon_sym_end, + STATE(680), 1, + sym_comment, + [28430] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1466), 1, + anon_sym_RPAREN, + STATE(681), 1, + sym_comment, + [28440] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1468), 1, + anon_sym_GT, + STATE(682), 1, + sym_comment, + [28450] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1470), 1, + anon_sym_RPAREN, + STATE(683), 1, + sym_comment, + [28460] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1472), 1, + anon_sym_GT, + STATE(684), 1, + sym_comment, + [28470] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1474), 1, + anon_sym_GT, + STATE(685), 1, + sym_comment, + [28480] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1476), 1, + anon_sym_GT, + STATE(686), 1, + sym_comment, + [28490] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1478), 1, + sym__string_end, + STATE(687), 1, + sym_comment, + [28500] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1480), 1, + anon_sym_RBRACE, + STATE(688), 1, + sym_comment, + [28510] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1482), 1, + anon_sym_EQ, + STATE(689), 1, + sym_comment, + [28520] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1484), 1, + sym__string_end, + STATE(690), 1, + sym_comment, + [28530] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1486), 1, + sym__comment_end, + STATE(691), 1, + sym_comment, + [28540] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1488), 1, + anon_sym_end, + STATE(692), 1, + sym_comment, + [28550] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1490), 1, + anon_sym_end, + STATE(693), 1, + sym_comment, + [28560] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1492), 1, + anon_sym_RPAREN, + STATE(694), 1, + sym_comment, + [28570] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1494), 1, + anon_sym_end, + STATE(695), 1, + sym_comment, + [28580] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1496), 1, + anon_sym_RPAREN, + STATE(696), 1, + sym_comment, + [28590] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(998), 1, + anon_sym_RPAREN, + STATE(697), 1, + sym_comment, + [28600] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1499), 1, + anon_sym_RPAREN, + STATE(698), 1, + sym_comment, + [28610] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1501), 1, + anon_sym_EQ, + STATE(699), 1, + sym_comment, + [28620] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1503), 1, + anon_sym_GT, + STATE(700), 1, + sym_comment, + [28630] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1505), 1, + anon_sym_DASH_GT, + STATE(701), 1, + sym_comment, + [28640] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1507), 1, + anon_sym_LPAREN, + STATE(702), 1, + sym_comment, + [28650] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1509), 1, + anon_sym_RPAREN, + STATE(703), 1, + sym_comment, + [28660] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1511), 1, + ts_builtin_sym_end, + STATE(704), 1, + sym_comment, + [28670] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1513), 1, + ts_builtin_sym_end, + STATE(705), 1, + sym_comment, + [28680] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1515), 1, + anon_sym_, + STATE(706), 1, + sym_comment, + [28690] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1517), 1, + anon_sym_, + STATE(707), 1, + sym_comment, + [28700] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1519), 1, + anon_sym_RBRACE, + STATE(708), 1, + sym_comment, + [28710] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1521), 1, + anon_sym_end, + STATE(709), 1, + sym_comment, + [28720] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1523), 1, + sym_name, + STATE(710), 1, + sym_comment, + [28730] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1525), 1, + anon_sym_RPAREN, + STATE(711), 1, + sym_comment, + [28740] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1527), 1, + anon_sym_LPAREN, + STATE(712), 1, + sym_comment, + [28750] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1529), 1, + anon_sym_LPAREN, + STATE(713), 1, + sym_comment, + [28760] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1531), 1, + anon_sym_LPAREN, + STATE(714), 1, + sym_comment, + [28770] = 3, + ACTIONS(3), 1, + sym__comment_start, + ACTIONS(1533), 1, + anon_sym_GT, + STATE(715), 1, + sym_comment, + [28780] = 1, + ACTIONS(1535), 1, + ts_builtin_sym_end, + [28784] = 1, + ACTIONS(1537), 1, + ts_builtin_sym_end, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(2)] = 0, + [SMALL_STATE(3)] = 77, + [SMALL_STATE(4)] = 154, + [SMALL_STATE(5)] = 221, + [SMALL_STATE(6)] = 288, + [SMALL_STATE(7)] = 355, + [SMALL_STATE(8)] = 422, + [SMALL_STATE(9)] = 489, + [SMALL_STATE(10)] = 556, + [SMALL_STATE(11)] = 623, + [SMALL_STATE(12)] = 690, + [SMALL_STATE(13)] = 760, + [SMALL_STATE(14)] = 826, + [SMALL_STATE(15)] = 887, + [SMALL_STATE(16)] = 950, + [SMALL_STATE(17)] = 1008, + [SMALL_STATE(18)] = 1066, + [SMALL_STATE(19)] = 1124, + [SMALL_STATE(20)] = 1182, + [SMALL_STATE(21)] = 1240, + [SMALL_STATE(22)] = 1298, + [SMALL_STATE(23)] = 1356, + [SMALL_STATE(24)] = 1414, + [SMALL_STATE(25)] = 1472, + [SMALL_STATE(26)] = 1530, + [SMALL_STATE(27)] = 1588, + [SMALL_STATE(28)] = 1646, + [SMALL_STATE(29)] = 1704, + [SMALL_STATE(30)] = 1762, + [SMALL_STATE(31)] = 1820, + [SMALL_STATE(32)] = 1878, + [SMALL_STATE(33)] = 1936, + [SMALL_STATE(34)] = 1994, + [SMALL_STATE(35)] = 2052, + [SMALL_STATE(36)] = 2110, + [SMALL_STATE(37)] = 2170, + [SMALL_STATE(38)] = 2228, + [SMALL_STATE(39)] = 2286, + [SMALL_STATE(40)] = 2344, + [SMALL_STATE(41)] = 2402, + [SMALL_STATE(42)] = 2460, + [SMALL_STATE(43)] = 2518, + [SMALL_STATE(44)] = 2578, + [SMALL_STATE(45)] = 2636, + [SMALL_STATE(46)] = 2694, + [SMALL_STATE(47)] = 2752, + [SMALL_STATE(48)] = 2808, + [SMALL_STATE(49)] = 2870, + [SMALL_STATE(50)] = 2932, + [SMALL_STATE(51)] = 2994, + [SMALL_STATE(52)] = 3112, + [SMALL_STATE(53)] = 3174, + [SMALL_STATE(54)] = 3234, + [SMALL_STATE(55)] = 3293, + [SMALL_STATE(56)] = 3405, + [SMALL_STATE(57)] = 3517, + [SMALL_STATE(58)] = 3629, + [SMALL_STATE(59)] = 3741, + [SMALL_STATE(60)] = 3795, + [SMALL_STATE(61)] = 3907, + [SMALL_STATE(62)] = 4019, + [SMALL_STATE(63)] = 4131, + [SMALL_STATE(64)] = 4243, + [SMALL_STATE(65)] = 4296, + [SMALL_STATE(66)] = 4349, + [SMALL_STATE(67)] = 4402, + [SMALL_STATE(68)] = 4455, + [SMALL_STATE(69)] = 4508, + [SMALL_STATE(70)] = 4561, + [SMALL_STATE(71)] = 4666, + [SMALL_STATE(72)] = 4719, + [SMALL_STATE(73)] = 4772, + [SMALL_STATE(74)] = 4837, + [SMALL_STATE(75)] = 4910, + [SMALL_STATE(76)] = 4963, + [SMALL_STATE(77)] = 5034, + [SMALL_STATE(78)] = 5103, + [SMALL_STATE(79)] = 5164, + [SMALL_STATE(80)] = 5221, + [SMALL_STATE(81)] = 5286, + [SMALL_STATE(82)] = 5339, + [SMALL_STATE(83)] = 5396, + [SMALL_STATE(84)] = 5499, + [SMALL_STATE(85)] = 5572, + [SMALL_STATE(86)] = 5625, + [SMALL_STATE(87)] = 5678, + [SMALL_STATE(88)] = 5731, + [SMALL_STATE(89)] = 5784, + [SMALL_STATE(90)] = 5837, + [SMALL_STATE(91)] = 5890, + [SMALL_STATE(92)] = 5943, + [SMALL_STATE(93)] = 5996, + [SMALL_STATE(94)] = 6049, + [SMALL_STATE(95)] = 6102, + [SMALL_STATE(96)] = 6155, + [SMALL_STATE(97)] = 6208, + [SMALL_STATE(98)] = 6265, + [SMALL_STATE(99)] = 6371, + [SMALL_STATE(100)] = 6477, + [SMALL_STATE(101)] = 6583, + [SMALL_STATE(102)] = 6689, + [SMALL_STATE(103)] = 6795, + [SMALL_STATE(104)] = 6901, + [SMALL_STATE(105)] = 7007, + [SMALL_STATE(106)] = 7113, + [SMALL_STATE(107)] = 7209, + [SMALL_STATE(108)] = 7312, + [SMALL_STATE(109)] = 7415, + [SMALL_STATE(110)] = 7518, + [SMALL_STATE(111)] = 7621, + [SMALL_STATE(112)] = 7718, + [SMALL_STATE(113)] = 7821, + [SMALL_STATE(114)] = 7924, + [SMALL_STATE(115)] = 7999, + [SMALL_STATE(116)] = 8102, + [SMALL_STATE(117)] = 8205, + [SMALL_STATE(118)] = 8308, + [SMALL_STATE(119)] = 8411, + [SMALL_STATE(120)] = 8514, + [SMALL_STATE(121)] = 8617, + [SMALL_STATE(122)] = 8720, + [SMALL_STATE(123)] = 8823, + [SMALL_STATE(124)] = 8926, + [SMALL_STATE(125)] = 8996, + [SMALL_STATE(126)] = 9091, + [SMALL_STATE(127)] = 9186, + [SMALL_STATE(128)] = 9254, + [SMALL_STATE(129)] = 9348, + [SMALL_STATE(130)] = 9442, + [SMALL_STATE(131)] = 9510, + [SMALL_STATE(132)] = 9604, + [SMALL_STATE(133)] = 9698, + [SMALL_STATE(134)] = 9766, + [SMALL_STATE(135)] = 9854, + [SMALL_STATE(136)] = 9942, + [SMALL_STATE(137)] = 10030, + [SMALL_STATE(138)] = 10119, + [SMALL_STATE(139)] = 10204, + [SMALL_STATE(140)] = 10289, + [SMALL_STATE(141)] = 10378, + [SMALL_STATE(142)] = 10463, + [SMALL_STATE(143)] = 10552, + [SMALL_STATE(144)] = 10637, + [SMALL_STATE(145)] = 10719, + [SMALL_STATE(146)] = 10801, + [SMALL_STATE(147)] = 10883, + [SMALL_STATE(148)] = 10965, + [SMALL_STATE(149)] = 11047, + [SMALL_STATE(150)] = 11129, + [SMALL_STATE(151)] = 11211, + [SMALL_STATE(152)] = 11293, + [SMALL_STATE(153)] = 11375, + [SMALL_STATE(154)] = 11457, + [SMALL_STATE(155)] = 11539, + [SMALL_STATE(156)] = 11621, + [SMALL_STATE(157)] = 11703, + [SMALL_STATE(158)] = 11785, + [SMALL_STATE(159)] = 11867, + [SMALL_STATE(160)] = 11949, + [SMALL_STATE(161)] = 12031, + [SMALL_STATE(162)] = 12113, + [SMALL_STATE(163)] = 12195, + [SMALL_STATE(164)] = 12277, + [SMALL_STATE(165)] = 12359, + [SMALL_STATE(166)] = 12441, + [SMALL_STATE(167)] = 12523, + [SMALL_STATE(168)] = 12605, + [SMALL_STATE(169)] = 12687, + [SMALL_STATE(170)] = 12769, + [SMALL_STATE(171)] = 12851, + [SMALL_STATE(172)] = 12933, + [SMALL_STATE(173)] = 13015, + [SMALL_STATE(174)] = 13097, + [SMALL_STATE(175)] = 13179, + [SMALL_STATE(176)] = 13261, + [SMALL_STATE(177)] = 13343, + [SMALL_STATE(178)] = 13425, + [SMALL_STATE(179)] = 13507, + [SMALL_STATE(180)] = 13589, + [SMALL_STATE(181)] = 13671, + [SMALL_STATE(182)] = 13753, + [SMALL_STATE(183)] = 13835, + [SMALL_STATE(184)] = 13917, + [SMALL_STATE(185)] = 13999, + [SMALL_STATE(186)] = 14081, + [SMALL_STATE(187)] = 14163, + [SMALL_STATE(188)] = 14245, + [SMALL_STATE(189)] = 14327, + [SMALL_STATE(190)] = 14409, + [SMALL_STATE(191)] = 14490, + [SMALL_STATE(192)] = 14573, + [SMALL_STATE(193)] = 14654, + [SMALL_STATE(194)] = 14737, + [SMALL_STATE(195)] = 14820, + [SMALL_STATE(196)] = 14901, + [SMALL_STATE(197)] = 14982, + [SMALL_STATE(198)] = 15063, + [SMALL_STATE(199)] = 15146, + [SMALL_STATE(200)] = 15227, + [SMALL_STATE(201)] = 15305, + [SMALL_STATE(202)] = 15384, + [SMALL_STATE(203)] = 15457, + [SMALL_STATE(204)] = 15532, + [SMALL_STATE(205)] = 15607, + [SMALL_STATE(206)] = 15682, + [SMALL_STATE(207)] = 15755, + [SMALL_STATE(208)] = 15834, + [SMALL_STATE(209)] = 15907, + [SMALL_STATE(210)] = 15982, + [SMALL_STATE(211)] = 16059, + [SMALL_STATE(212)] = 16134, + [SMALL_STATE(213)] = 16175, + [SMALL_STATE(214)] = 16250, + [SMALL_STATE(215)] = 16325, + [SMALL_STATE(216)] = 16404, + [SMALL_STATE(217)] = 16479, + [SMALL_STATE(218)] = 16554, + [SMALL_STATE(219)] = 16629, + [SMALL_STATE(220)] = 16704, + [SMALL_STATE(221)] = 16777, + [SMALL_STATE(222)] = 16854, + [SMALL_STATE(223)] = 16929, + [SMALL_STATE(224)] = 16975, + [SMALL_STATE(225)] = 17025, + [SMALL_STATE(226)] = 17071, + [SMALL_STATE(227)] = 17117, + [SMALL_STATE(228)] = 17161, + [SMALL_STATE(229)] = 17211, + [SMALL_STATE(230)] = 17281, + [SMALL_STATE(231)] = 17325, + [SMALL_STATE(232)] = 17370, + [SMALL_STATE(233)] = 17417, + [SMALL_STATE(234)] = 17462, + [SMALL_STATE(235)] = 17526, + [SMALL_STATE(236)] = 17564, + [SMALL_STATE(237)] = 17628, + [SMALL_STATE(238)] = 17663, + [SMALL_STATE(239)] = 17698, + [SMALL_STATE(240)] = 17737, + [SMALL_STATE(241)] = 17774, + [SMALL_STATE(242)] = 17809, + [SMALL_STATE(243)] = 17844, + [SMALL_STATE(244)] = 17879, + [SMALL_STATE(245)] = 17914, + [SMALL_STATE(246)] = 17949, + [SMALL_STATE(247)] = 17984, + [SMALL_STATE(248)] = 18019, + [SMALL_STATE(249)] = 18054, + [SMALL_STATE(250)] = 18089, + [SMALL_STATE(251)] = 18124, + [SMALL_STATE(252)] = 18159, + [SMALL_STATE(253)] = 18194, + [SMALL_STATE(254)] = 18229, + [SMALL_STATE(255)] = 18264, + [SMALL_STATE(256)] = 18299, + [SMALL_STATE(257)] = 18334, + [SMALL_STATE(258)] = 18374, + [SMALL_STATE(259)] = 18412, + [SMALL_STATE(260)] = 18450, + [SMALL_STATE(261)] = 18486, + [SMALL_STATE(262)] = 18520, + [SMALL_STATE(263)] = 18560, + [SMALL_STATE(264)] = 18600, + [SMALL_STATE(265)] = 18640, + [SMALL_STATE(266)] = 18680, + [SMALL_STATE(267)] = 18738, + [SMALL_STATE(268)] = 18793, + [SMALL_STATE(269)] = 18848, + [SMALL_STATE(270)] = 18903, + [SMALL_STATE(271)] = 18940, + [SMALL_STATE(272)] = 18995, + [SMALL_STATE(273)] = 19050, + [SMALL_STATE(274)] = 19105, + [SMALL_STATE(275)] = 19140, + [SMALL_STATE(276)] = 19195, + [SMALL_STATE(277)] = 19250, + [SMALL_STATE(278)] = 19305, + [SMALL_STATE(279)] = 19360, + [SMALL_STATE(280)] = 19415, + [SMALL_STATE(281)] = 19470, + [SMALL_STATE(282)] = 19525, + [SMALL_STATE(283)] = 19580, + [SMALL_STATE(284)] = 19635, + [SMALL_STATE(285)] = 19690, + [SMALL_STATE(286)] = 19745, + [SMALL_STATE(287)] = 19800, + [SMALL_STATE(288)] = 19835, + [SMALL_STATE(289)] = 19890, + [SMALL_STATE(290)] = 19945, + [SMALL_STATE(291)] = 20000, + [SMALL_STATE(292)] = 20055, + [SMALL_STATE(293)] = 20110, + [SMALL_STATE(294)] = 20165, + [SMALL_STATE(295)] = 20220, + [SMALL_STATE(296)] = 20275, + [SMALL_STATE(297)] = 20307, + [SMALL_STATE(298)] = 20339, + [SMALL_STATE(299)] = 20371, + [SMALL_STATE(300)] = 20403, + [SMALL_STATE(301)] = 20435, + [SMALL_STATE(302)] = 20467, + [SMALL_STATE(303)] = 20505, + [SMALL_STATE(304)] = 20537, + [SMALL_STATE(305)] = 20593, + [SMALL_STATE(306)] = 20625, + [SMALL_STATE(307)] = 20657, + [SMALL_STATE(308)] = 20689, + [SMALL_STATE(309)] = 20721, + [SMALL_STATE(310)] = 20759, + [SMALL_STATE(311)] = 20815, + [SMALL_STATE(312)] = 20853, + [SMALL_STATE(313)] = 20885, + [SMALL_STATE(314)] = 20917, + [SMALL_STATE(315)] = 20951, + [SMALL_STATE(316)] = 20983, + [SMALL_STATE(317)] = 21017, + [SMALL_STATE(318)] = 21053, + [SMALL_STATE(319)] = 21091, + [SMALL_STATE(320)] = 21123, + [SMALL_STATE(321)] = 21155, + [SMALL_STATE(322)] = 21189, + [SMALL_STATE(323)] = 21221, + [SMALL_STATE(324)] = 21253, + [SMALL_STATE(325)] = 21285, + [SMALL_STATE(326)] = 21316, + [SMALL_STATE(327)] = 21347, + [SMALL_STATE(328)] = 21378, + [SMALL_STATE(329)] = 21427, + [SMALL_STATE(330)] = 21458, + [SMALL_STATE(331)] = 21489, + [SMALL_STATE(332)] = 21522, + [SMALL_STATE(333)] = 21553, + [SMALL_STATE(334)] = 21584, + [SMALL_STATE(335)] = 21615, + [SMALL_STATE(336)] = 21646, + [SMALL_STATE(337)] = 21695, + [SMALL_STATE(338)] = 21726, + [SMALL_STATE(339)] = 21757, + [SMALL_STATE(340)] = 21788, + [SMALL_STATE(341)] = 21819, + [SMALL_STATE(342)] = 21868, + [SMALL_STATE(343)] = 21899, + [SMALL_STATE(344)] = 21930, + [SMALL_STATE(345)] = 21961, + [SMALL_STATE(346)] = 21992, + [SMALL_STATE(347)] = 22023, + [SMALL_STATE(348)] = 22058, + [SMALL_STATE(349)] = 22089, + [SMALL_STATE(350)] = 22120, + [SMALL_STATE(351)] = 22151, + [SMALL_STATE(352)] = 22182, + [SMALL_STATE(353)] = 22213, + [SMALL_STATE(354)] = 22244, + [SMALL_STATE(355)] = 22294, + [SMALL_STATE(356)] = 22324, + [SMALL_STATE(357)] = 22374, + [SMALL_STATE(358)] = 22421, + [SMALL_STATE(359)] = 22450, + [SMALL_STATE(360)] = 22479, + [SMALL_STATE(361)] = 22508, + [SMALL_STATE(362)] = 22549, + [SMALL_STATE(363)] = 22578, + [SMALL_STATE(364)] = 22625, + [SMALL_STATE(365)] = 22654, + [SMALL_STATE(366)] = 22683, + [SMALL_STATE(367)] = 22712, + [SMALL_STATE(368)] = 22759, + [SMALL_STATE(369)] = 22806, + [SMALL_STATE(370)] = 22835, + [SMALL_STATE(371)] = 22864, + [SMALL_STATE(372)] = 22911, + [SMALL_STATE(373)] = 22940, + [SMALL_STATE(374)] = 22987, + [SMALL_STATE(375)] = 23016, + [SMALL_STATE(376)] = 23061, + [SMALL_STATE(377)] = 23090, + [SMALL_STATE(378)] = 23137, + [SMALL_STATE(379)] = 23166, + [SMALL_STATE(380)] = 23209, + [SMALL_STATE(381)] = 23238, + [SMALL_STATE(382)] = 23275, + [SMALL_STATE(383)] = 23308, + [SMALL_STATE(384)] = 23349, + [SMALL_STATE(385)] = 23378, + [SMALL_STATE(386)] = 23407, + [SMALL_STATE(387)] = 23436, + [SMALL_STATE(388)] = 23483, + [SMALL_STATE(389)] = 23512, + [SMALL_STATE(390)] = 23545, + [SMALL_STATE(391)] = 23592, + [SMALL_STATE(392)] = 23639, + [SMALL_STATE(393)] = 23686, + [SMALL_STATE(394)] = 23733, + [SMALL_STATE(395)] = 23780, + [SMALL_STATE(396)] = 23827, + [SMALL_STATE(397)] = 23860, + [SMALL_STATE(398)] = 23889, + [SMALL_STATE(399)] = 23936, + [SMALL_STATE(400)] = 23983, + [SMALL_STATE(401)] = 24030, + [SMALL_STATE(402)] = 24077, + [SMALL_STATE(403)] = 24106, + [SMALL_STATE(404)] = 24135, + [SMALL_STATE(405)] = 24182, + [SMALL_STATE(406)] = 24211, + [SMALL_STATE(407)] = 24240, + [SMALL_STATE(408)] = 24277, + [SMALL_STATE(409)] = 24304, + [SMALL_STATE(410)] = 24331, + [SMALL_STATE(411)] = 24357, + [SMALL_STATE(412)] = 24378, + [SMALL_STATE(413)] = 24399, + [SMALL_STATE(414)] = 24432, + [SMALL_STATE(415)] = 24458, + [SMALL_STATE(416)] = 24490, + [SMALL_STATE(417)] = 24513, + [SMALL_STATE(418)] = 24536, + [SMALL_STATE(419)] = 24564, + [SMALL_STATE(420)] = 24592, + [SMALL_STATE(421)] = 24620, + [SMALL_STATE(422)] = 24642, + [SMALL_STATE(423)] = 24670, + [SMALL_STATE(424)] = 24698, + [SMALL_STATE(425)] = 24726, + [SMALL_STATE(426)] = 24754, + [SMALL_STATE(427)] = 24774, + [SMALL_STATE(428)] = 24799, + [SMALL_STATE(429)] = 24824, + [SMALL_STATE(430)] = 24849, + [SMALL_STATE(431)] = 24866, + [SMALL_STATE(432)] = 24885, + [SMALL_STATE(433)] = 24910, + [SMALL_STATE(434)] = 24935, + [SMALL_STATE(435)] = 24960, + [SMALL_STATE(436)] = 24983, + [SMALL_STATE(437)] = 25006, + [SMALL_STATE(438)] = 25031, + [SMALL_STATE(439)] = 25050, + [SMALL_STATE(440)] = 25075, + [SMALL_STATE(441)] = 25100, + [SMALL_STATE(442)] = 25121, + [SMALL_STATE(443)] = 25146, + [SMALL_STATE(444)] = 25171, + [SMALL_STATE(445)] = 25196, + [SMALL_STATE(446)] = 25217, + [SMALL_STATE(447)] = 25242, + [SMALL_STATE(448)] = 25265, + [SMALL_STATE(449)] = 25288, + [SMALL_STATE(450)] = 25305, + [SMALL_STATE(451)] = 25319, + [SMALL_STATE(452)] = 25341, + [SMALL_STATE(453)] = 25363, + [SMALL_STATE(454)] = 25385, + [SMALL_STATE(455)] = 25407, + [SMALL_STATE(456)] = 25429, + [SMALL_STATE(457)] = 25445, + [SMALL_STATE(458)] = 25459, + [SMALL_STATE(459)] = 25479, + [SMALL_STATE(460)] = 25493, + [SMALL_STATE(461)] = 25507, + [SMALL_STATE(462)] = 25521, + [SMALL_STATE(463)] = 25543, + [SMALL_STATE(464)] = 25565, + [SMALL_STATE(465)] = 25583, + [SMALL_STATE(466)] = 25599, + [SMALL_STATE(467)] = 25615, + [SMALL_STATE(468)] = 25629, + [SMALL_STATE(469)] = 25643, + [SMALL_STATE(470)] = 25663, + [SMALL_STATE(471)] = 25677, + [SMALL_STATE(472)] = 25693, + [SMALL_STATE(473)] = 25713, + [SMALL_STATE(474)] = 25735, + [SMALL_STATE(475)] = 25757, + [SMALL_STATE(476)] = 25771, + [SMALL_STATE(477)] = 25785, + [SMALL_STATE(478)] = 25799, + [SMALL_STATE(479)] = 25815, + [SMALL_STATE(480)] = 25829, + [SMALL_STATE(481)] = 25843, + [SMALL_STATE(482)] = 25857, + [SMALL_STATE(483)] = 25879, + [SMALL_STATE(484)] = 25893, + [SMALL_STATE(485)] = 25907, + [SMALL_STATE(486)] = 25929, + [SMALL_STATE(487)] = 25949, + [SMALL_STATE(488)] = 25969, + [SMALL_STATE(489)] = 25989, + [SMALL_STATE(490)] = 26011, + [SMALL_STATE(491)] = 26025, + [SMALL_STATE(492)] = 26045, + [SMALL_STATE(493)] = 26059, + [SMALL_STATE(494)] = 26079, + [SMALL_STATE(495)] = 26099, + [SMALL_STATE(496)] = 26119, + [SMALL_STATE(497)] = 26141, + [SMALL_STATE(498)] = 26158, + [SMALL_STATE(499)] = 26175, + [SMALL_STATE(500)] = 26194, + [SMALL_STATE(501)] = 26213, + [SMALL_STATE(502)] = 26226, + [SMALL_STATE(503)] = 26243, + [SMALL_STATE(504)] = 26262, + [SMALL_STATE(505)] = 26277, + [SMALL_STATE(506)] = 26296, + [SMALL_STATE(507)] = 26311, + [SMALL_STATE(508)] = 26326, + [SMALL_STATE(509)] = 26345, + [SMALL_STATE(510)] = 26362, + [SMALL_STATE(511)] = 26381, + [SMALL_STATE(512)] = 26400, + [SMALL_STATE(513)] = 26419, + [SMALL_STATE(514)] = 26438, + [SMALL_STATE(515)] = 26455, + [SMALL_STATE(516)] = 26474, + [SMALL_STATE(517)] = 26493, + [SMALL_STATE(518)] = 26512, + [SMALL_STATE(519)] = 26527, + [SMALL_STATE(520)] = 26546, + [SMALL_STATE(521)] = 26562, + [SMALL_STATE(522)] = 26574, + [SMALL_STATE(523)] = 26590, + [SMALL_STATE(524)] = 26606, + [SMALL_STATE(525)] = 26622, + [SMALL_STATE(526)] = 26636, + [SMALL_STATE(527)] = 26652, + [SMALL_STATE(528)] = 26668, + [SMALL_STATE(529)] = 26684, + [SMALL_STATE(530)] = 26698, + [SMALL_STATE(531)] = 26712, + [SMALL_STATE(532)] = 26728, + [SMALL_STATE(533)] = 26744, + [SMALL_STATE(534)] = 26756, + [SMALL_STATE(535)] = 26768, + [SMALL_STATE(536)] = 26782, + [SMALL_STATE(537)] = 26796, + [SMALL_STATE(538)] = 26810, + [SMALL_STATE(539)] = 26826, + [SMALL_STATE(540)] = 26838, + [SMALL_STATE(541)] = 26852, + [SMALL_STATE(542)] = 26866, + [SMALL_STATE(543)] = 26882, + [SMALL_STATE(544)] = 26898, + [SMALL_STATE(545)] = 26912, + [SMALL_STATE(546)] = 26926, + [SMALL_STATE(547)] = 26942, + [SMALL_STATE(548)] = 26958, + [SMALL_STATE(549)] = 26972, + [SMALL_STATE(550)] = 26984, + [SMALL_STATE(551)] = 26996, + [SMALL_STATE(552)] = 27012, + [SMALL_STATE(553)] = 27028, + [SMALL_STATE(554)] = 27044, + [SMALL_STATE(555)] = 27056, + [SMALL_STATE(556)] = 27070, + [SMALL_STATE(557)] = 27084, + [SMALL_STATE(558)] = 27098, + [SMALL_STATE(559)] = 27110, + [SMALL_STATE(560)] = 27122, + [SMALL_STATE(561)] = 27138, + [SMALL_STATE(562)] = 27154, + [SMALL_STATE(563)] = 27166, + [SMALL_STATE(564)] = 27182, + [SMALL_STATE(565)] = 27198, + [SMALL_STATE(566)] = 27214, + [SMALL_STATE(567)] = 27227, + [SMALL_STATE(568)] = 27238, + [SMALL_STATE(569)] = 27251, + [SMALL_STATE(570)] = 27264, + [SMALL_STATE(571)] = 27277, + [SMALL_STATE(572)] = 27290, + [SMALL_STATE(573)] = 27303, + [SMALL_STATE(574)] = 27316, + [SMALL_STATE(575)] = 27327, + [SMALL_STATE(576)] = 27340, + [SMALL_STATE(577)] = 27353, + [SMALL_STATE(578)] = 27366, + [SMALL_STATE(579)] = 27379, + [SMALL_STATE(580)] = 27392, + [SMALL_STATE(581)] = 27403, + [SMALL_STATE(582)] = 27414, + [SMALL_STATE(583)] = 27427, + [SMALL_STATE(584)] = 27438, + [SMALL_STATE(585)] = 27451, + [SMALL_STATE(586)] = 27462, + [SMALL_STATE(587)] = 27473, + [SMALL_STATE(588)] = 27486, + [SMALL_STATE(589)] = 27499, + [SMALL_STATE(590)] = 27510, + [SMALL_STATE(591)] = 27521, + [SMALL_STATE(592)] = 27534, + [SMALL_STATE(593)] = 27545, + [SMALL_STATE(594)] = 27556, + [SMALL_STATE(595)] = 27569, + [SMALL_STATE(596)] = 27580, + [SMALL_STATE(597)] = 27590, + [SMALL_STATE(598)] = 27600, + [SMALL_STATE(599)] = 27610, + [SMALL_STATE(600)] = 27620, + [SMALL_STATE(601)] = 27630, + [SMALL_STATE(602)] = 27640, + [SMALL_STATE(603)] = 27650, + [SMALL_STATE(604)] = 27660, + [SMALL_STATE(605)] = 27670, + [SMALL_STATE(606)] = 27680, + [SMALL_STATE(607)] = 27690, + [SMALL_STATE(608)] = 27700, + [SMALL_STATE(609)] = 27710, + [SMALL_STATE(610)] = 27720, + [SMALL_STATE(611)] = 27730, + [SMALL_STATE(612)] = 27740, + [SMALL_STATE(613)] = 27750, + [SMALL_STATE(614)] = 27760, + [SMALL_STATE(615)] = 27770, + [SMALL_STATE(616)] = 27780, + [SMALL_STATE(617)] = 27790, + [SMALL_STATE(618)] = 27800, + [SMALL_STATE(619)] = 27810, + [SMALL_STATE(620)] = 27820, + [SMALL_STATE(621)] = 27830, + [SMALL_STATE(622)] = 27840, + [SMALL_STATE(623)] = 27850, + [SMALL_STATE(624)] = 27860, + [SMALL_STATE(625)] = 27870, + [SMALL_STATE(626)] = 27880, + [SMALL_STATE(627)] = 27890, + [SMALL_STATE(628)] = 27900, + [SMALL_STATE(629)] = 27910, + [SMALL_STATE(630)] = 27920, + [SMALL_STATE(631)] = 27930, + [SMALL_STATE(632)] = 27940, + [SMALL_STATE(633)] = 27950, + [SMALL_STATE(634)] = 27960, + [SMALL_STATE(635)] = 27970, + [SMALL_STATE(636)] = 27980, + [SMALL_STATE(637)] = 27990, + [SMALL_STATE(638)] = 28000, + [SMALL_STATE(639)] = 28010, + [SMALL_STATE(640)] = 28020, + [SMALL_STATE(641)] = 28030, + [SMALL_STATE(642)] = 28040, + [SMALL_STATE(643)] = 28050, + [SMALL_STATE(644)] = 28060, + [SMALL_STATE(645)] = 28070, + [SMALL_STATE(646)] = 28080, + [SMALL_STATE(647)] = 28090, + [SMALL_STATE(648)] = 28100, + [SMALL_STATE(649)] = 28110, + [SMALL_STATE(650)] = 28120, + [SMALL_STATE(651)] = 28130, + [SMALL_STATE(652)] = 28140, + [SMALL_STATE(653)] = 28150, + [SMALL_STATE(654)] = 28160, + [SMALL_STATE(655)] = 28170, + [SMALL_STATE(656)] = 28180, + [SMALL_STATE(657)] = 28190, + [SMALL_STATE(658)] = 28200, + [SMALL_STATE(659)] = 28210, + [SMALL_STATE(660)] = 28220, + [SMALL_STATE(661)] = 28230, + [SMALL_STATE(662)] = 28240, + [SMALL_STATE(663)] = 28250, + [SMALL_STATE(664)] = 28260, + [SMALL_STATE(665)] = 28270, + [SMALL_STATE(666)] = 28280, + [SMALL_STATE(667)] = 28290, + [SMALL_STATE(668)] = 28300, + [SMALL_STATE(669)] = 28310, + [SMALL_STATE(670)] = 28320, + [SMALL_STATE(671)] = 28330, + [SMALL_STATE(672)] = 28340, + [SMALL_STATE(673)] = 28350, + [SMALL_STATE(674)] = 28360, + [SMALL_STATE(675)] = 28370, + [SMALL_STATE(676)] = 28380, + [SMALL_STATE(677)] = 28390, + [SMALL_STATE(678)] = 28400, + [SMALL_STATE(679)] = 28410, + [SMALL_STATE(680)] = 28420, + [SMALL_STATE(681)] = 28430, + [SMALL_STATE(682)] = 28440, + [SMALL_STATE(683)] = 28450, + [SMALL_STATE(684)] = 28460, + [SMALL_STATE(685)] = 28470, + [SMALL_STATE(686)] = 28480, + [SMALL_STATE(687)] = 28490, + [SMALL_STATE(688)] = 28500, + [SMALL_STATE(689)] = 28510, + [SMALL_STATE(690)] = 28520, + [SMALL_STATE(691)] = 28530, + [SMALL_STATE(692)] = 28540, + [SMALL_STATE(693)] = 28550, + [SMALL_STATE(694)] = 28560, + [SMALL_STATE(695)] = 28570, + [SMALL_STATE(696)] = 28580, + [SMALL_STATE(697)] = 28590, + [SMALL_STATE(698)] = 28600, + [SMALL_STATE(699)] = 28610, + [SMALL_STATE(700)] = 28620, + [SMALL_STATE(701)] = 28630, + [SMALL_STATE(702)] = 28640, + [SMALL_STATE(703)] = 28650, + [SMALL_STATE(704)] = 28660, + [SMALL_STATE(705)] = 28670, + [SMALL_STATE(706)] = 28680, + [SMALL_STATE(707)] = 28690, + [SMALL_STATE(708)] = 28700, + [SMALL_STATE(709)] = 28710, + [SMALL_STATE(710)] = 28720, + [SMALL_STATE(711)] = 28730, + [SMALL_STATE(712)] = 28740, + [SMALL_STATE(713)] = 28750, + [SMALL_STATE(714)] = 28760, + [SMALL_STATE(715)] = 28770, + [SMALL_STATE(716)] = 28780, + [SMALL_STATE(717)] = 28784, +}; + +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(588), + [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 0), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(499), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(710), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(330), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(707), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(706), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [33] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var, 1), + [35] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var, 1), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(642), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var, 1, .production_id = 1), + [43] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var, 1, .production_id = 1), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_var, 2, .production_id = 2), + [47] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tbl_var, 2, .production_id = 2), + [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_var, 2, .production_id = 6), + [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__tbl_var, 2, .production_id = 6), + [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_indexed, 3, .production_id = 13), + [55] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_indexed, 3, .production_id = 13), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_named, 2, .production_id = 13), + [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_named, 2, .production_id = 13), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_prefixexp, 1), + [63] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_prefixexp, 1), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__prefixexp, 1), + [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namedtype, 1), + [69] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namedtype, 1), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(671), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197), + [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic, 1), + [77] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typepack_wrap, 2), + [79] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__typepack_wrap, 2), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namedtype, 6, .production_id = 42), + [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namedtype, 6, .production_id = 42), + [87] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_singleton, 1), + [89] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_singleton, 1), + [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table, 3), + [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table, 3), + [95] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arglist, 1), + [97] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arglist, 1), + [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tbtype, 2), + [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tbtype, 2), + [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fntype, 3), + [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fntype, 3), + [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exp_wrap, 3), + [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exp_wrap, 3), + [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typepack_wrap, 3), + [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__typepack_wrap, 3), + [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namedtype, 4), + [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namedtype, 4), + [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), + [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), + [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3), + [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3), + [127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typepack, 1), + [129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_typepack, 1), + [131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fntype, 2), + [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fntype, 2), + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wraptype, 3, .dynamic_precedence = 1), + [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_wraptype, 3, .dynamic_precedence = 1), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_table, 2), + [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_table, 2), + [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typepack_vrd, 1), + [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__typepack_vrd, 1), + [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dyntype, 4), + [153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dyntype, 4), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_stmt, 2, .production_id = 4), + [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_stmt, 2, .production_id = 4), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2), + [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bintype, 3, .production_id = 17), + [165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bintype, 3, .production_id = 17), + [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arglist, 3), + [171] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arglist, 3), + [173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tbtype, 3, .production_id = 40), + [175] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tbtype, 3, .production_id = 40), + [177] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typepack_gen, 1), + [179] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__typepack_gen, 1), + [181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_stmt, 2, .production_id = 5), + [183] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_stmt, 2, .production_id = 5), + [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_namedtype, 3, .production_id = 42), + [187] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_namedtype, 3, .production_id = 42), + [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arglist, 2), + [193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arglist, 2), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_untype, 2, .production_id = 32), + [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_untype, 2, .production_id = 32), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_genpack, 2), + [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_genpack, 2), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic, 2), + [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variadic, 2), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 3, .production_id = 18), + [213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 3, .production_id = 18), + [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(166), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exp, 1), + [223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_exp, 1), + [225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(638), + [227] = {.entry = {.count = 1, .reusable = false}}, SHIFT(359), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), + [237] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_vararg, 1), + [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_vararg, 1), + [243] = {.entry = {.count = 1, .reusable = false}}, SHIFT(376), + [245] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), + [247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(388), + [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 9, .production_id = 61), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 9, .production_id = 61), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 6), + [257] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 6), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interp, 3), + [261] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interp, 3), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 4), + [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 4), + [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_clause, 3, .production_id = 23), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 5, .production_id = 46), + [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 5, .production_id = 46), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 4, .production_id = 38), + [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 4, .production_id = 38), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binexp, 3, .production_id = 17), + [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binexp, 3, .production_id = 17), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ifexp, 6), + [295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ifexp, 6), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), + [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(174), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 6, .production_id = 52), + [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 6, .production_id = 52), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 6, .production_id = 53), + [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 6, .production_id = 53), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 1), + [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 1), + [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ifexp, 7), + [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ifexp, 7), + [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 10, .production_id = 64), + [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 10, .production_id = 64), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 9, .production_id = 62), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 9, .production_id = 62), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 5, .production_id = 47), + [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 5, .production_id = 47), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 8, .production_id = 59), + [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 8, .production_id = 59), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 3), + [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 3), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 8, .production_id = 58), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 8, .production_id = 58), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interp, 2), + [347] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interp, 2), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 7, .production_id = 50), + [351] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 7, .production_id = 50), + [353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 7), + [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 7), + [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anon_fn, 2, .production_id = 7), + [359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anon_fn, 2, .production_id = 7), + [361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fn_body, 7, .production_id = 55), + [363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fn_body, 7, .production_id = 55), + [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unexp, 2, .production_id = 8), + [367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unexp, 2, .production_id = 8), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [371] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(403), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [391] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [399] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2), + [403] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(2), + [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), + [408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(499), + [411] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(710), + [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(532), + [417] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(108), + [420] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(170), + [423] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(113), + [426] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(178), + [429] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(330), + [432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(707), + [435] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(706), + [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2), SHIFT_REPEAT(188), + [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337), + [443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), + [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 1), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ret_stmt, 1), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [451] = {.entry = {.count = 1, .reusable = false}}, SHIFT(560), + [453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ret_stmt, 1), + [455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [467] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [469] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__explist, 1), + [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__explist, 1), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), + [485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(340), + [487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), + [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__explist_repeat1, 2), + [491] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__explist_repeat1, 2), + [493] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fieldlist, 2), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fieldlist, 3), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_stmt, 3, .production_id = 12), + [507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_stmt, 3, .production_id = 12), + [509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_stmt, 4, .production_id = 25), + [515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_stmt, 4, .production_id = 25), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_var_stmt, 3), + [523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_var_stmt, 3), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [529] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608), + [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231), + [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(523), + [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [551] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(384), + [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(417), + [579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(714), + [587] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [601] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(264), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(712), + [617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), + [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binding, 3), + [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binding, 3), + [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binding, 1), + [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binding, 1), + [647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bindinglist, 2), + [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bindinglist, 2), + [653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__bindinglist_repeat1, 2), + [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__bindinglist_repeat1, 2), + [659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__bindinglist_repeat1, 2), SHIFT_REPEAT(584), + [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_stmt, 8), + [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_stmt, 8), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__bindinglist, 1), + [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__bindinglist, 1), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__explist, 2), + [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__explist, 2), + [674] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__explist_repeat1, 2), SHIFT_REPEAT(181), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_stmt, 10), + [679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_stmt, 10), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_stmt, 5), + [683] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_stmt, 5), + [685] = {.entry = {.count = 1, .reusable = false}}, SHIFT(640), + [687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_stmt, 7), + [691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_stmt, 7), + [693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), + [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179), + [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), + [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_var_stmt, 2), + [723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_var_stmt, 2), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 6, .production_id = 45), + [729] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 6, .production_id = 45), + [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 4, .production_id = 23), + [733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 4, .production_id = 23), + [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_stmt, 3, .production_id = 14), + [737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_stmt, 3, .production_id = 14), + [739] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 27), + [741] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_range_stmt, 8, .production_id = 54), + [743] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_range_stmt, 8, .production_id = 54), + [745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 1), + [747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__block_repeat1, 1), + [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 7, .production_id = 51), + [753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 7, .production_id = 51), + [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_stmt, 7, .production_id = 50), + [757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_stmt, 7, .production_id = 50), + [759] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_stmt, 3, .production_id = 10), + [761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_stmt, 3, .production_id = 10), + [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_stmt, 3, .production_id = 11), + [765] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_stmt, 3, .production_id = 11), + [767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 1, .production_id = 9), + [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_stmt, 2), + [771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_stmt, 2), + [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_range_stmt, 9, .production_id = 57), + [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_range_stmt, 9, .production_id = 57), + [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_stmt, 5, .production_id = 37), + [779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_stmt, 5, .production_id = 37), + [781] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_stmt, 4, .production_id = 23), + [783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_stmt, 4, .production_id = 23), + [785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, .production_id = 48), + [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_range_stmt, 10, .production_id = 60), + [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_range_stmt, 10, .production_id = 60), + [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_fn_stmt, 4, .production_id = 19), + [793] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_fn_stmt, 4, .production_id = 19), + [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_local_var_stmt, 4), + [797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_local_var_stmt, 4), + [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 5, .production_id = 33), + [801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 5, .production_id = 33), + [803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_stmt, 6), + [805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_stmt, 6), + [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_range_stmt, 11, .production_id = 63), + [809] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_range_stmt, 11, .production_id = 63), + [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 6, .production_id = 43), + [813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 6, .production_id = 43), + [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 6, .production_id = 44), + [817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 6, .production_id = 44), + [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_stmt, 4, .production_id = 21), + [821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_stmt, 4, .production_id = 21), + [823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 5, .production_id = 34), + [825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 5, .production_id = 34), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_stmt, 5, .production_id = 35), + [829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_stmt, 5, .production_id = 35), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ifexp_elseif, 4), + [837] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__ifexp_elseif, 4), + [839] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__varlist, 1), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [899] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__assign, 1), + [901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__assign, 1), + [903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fntype_wrap, 3), + [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_wrap, 3), + [907] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__fntype_wrap, 4), + [909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_wrap, 4), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671), + [923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(679), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679), + [949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fntype_param, 1), SHIFT(236), + [952] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__typelist, 1, .dynamic_precedence = 1), REDUCE(sym__fntype_param, 1), SHIFT(459), + [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), + [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_kvlist, 2, .production_id = 29), + [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__varlist_repeat1, 2), + [964] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__typelist, 1, .dynamic_precedence = 1), REDUCE(sym__fntype_param, 1), SHIFT(29), + [968] = {.entry = {.count = 3, .reusable = true}}, REDUCE(sym__typelist, 1, .dynamic_precedence = 1), REDUCE(sym__fntype_param, 1), SHIFT(313), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ret_stmt, 2), + [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [986] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ret_stmt, 2), + [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_prop, 3, .production_id = 49), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_kvlist, 3, .production_id = 41), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typelist, 1, .dynamic_precedence = 1), + [1000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_index, 5, .production_id = 56), + [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_param, 1), + [1016] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fntype_param, 1), SHIFT(29), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ret_stmt, 3), + [1023] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ret_stmt, 3), + [1025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_param, 3), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [1031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 2), + [1033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__block, 2), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [1037] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fntype_param, 1), SHIFT(459), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_genericdef, 3), + [1044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_stmt_repeat1, 2, .production_id = 36), + [1046] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_stmt_repeat1, 2, .production_id = 36), SHIFT_REPEAT(166), + [1049] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_stmt_repeat1, 2, .production_id = 36), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [1053] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_interp_repeat1, 2), SHIFT_REPEAT(521), + [1056] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_interp_repeat1, 2), SHIFT_REPEAT(138), + [1059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interp_repeat1, 2), + [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__typelist_repeat1, 2), + [1063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typeparam, 1), + [1065] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__fntype_param, 1), SHIFT(313), + [1068] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_ifexp_repeat1, 2), SHIFT_REPEAT(186), + [1071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_ifexp_repeat1, 2), + [1073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), + [1075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(665), + [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__genlist, 1), + [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [1085] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_genericdef, 1), + [1087] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__tbtype_kvlist_repeat1, 2, .production_id = 41), SHIFT_REPEAT(462), + [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tbtype_kvlist_repeat1, 2, .production_id = 41), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1), + [1096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1), + [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_fn_field, 2), + [1100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_fn_member, 2, .production_id = 20), + [1102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185), + [1104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_kvlist, 1, .production_id = 29), + [1114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), + [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fieldlist, 1), + [1120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__param_vararg, 3), + [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_array, 1, .production_id = 28), + [1124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_fieldlist_repeat1, 2), SHIFT_REPEAT(134), + [1127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_fieldlist_repeat1, 2), + [1129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [1133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_kvlist, 2, .production_id = 41), + [1135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_interp_repeat1, 1), + [1137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [1139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__genpack_list, 2), + [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__genpack_list, 1), + [1147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__genpack_list_repeat1, 2), SHIFT_REPEAT(543), + [1150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__genpack_list_repeat1, 2), + [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [1154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__paramlist, 2, .production_id = 16), + [1156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__varlist, 2), + [1158] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__typelist_repeat1, 2), SHIFT_REPEAT(280), + [1161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__typeparamlist_repeat1, 2), SHIFT_REPEAT(200), + [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__typeparamlist_repeat1, 2), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_stmt_packlist, 1), + [1170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_method, 2, .production_id = 3), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_genpackdef, 1), + [1176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__genlist_repeat1, 2), SHIFT_REPEAT(578), + [1179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__genlist_repeat1, 2), + [1181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__paramlist_repeat1, 2), SHIFT_REPEAT(570), + [1184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__paramlist_repeat1, 2), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__genlist, 2), + [1190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interp_exp, 3, .production_id = 26), + [1192] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_stmt_packlist_repeat1, 2), SHIFT_REPEAT(503), + [1195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_stmt_packlist_repeat1, 2), + [1197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__type_stmt_genlist_repeat1, 2), SHIFT_REPEAT(527), + [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__type_stmt_genlist_repeat1, 2), + [1202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_stmt_repeat1, 1, .production_id = 24), + [1204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_stmt_repeat1, 1, .production_id = 24), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__paramlist, 1, .production_id = 16), + [1210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_stmt_genlist, 1), + [1214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_clause, 4, .production_id = 33), + [1216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_clause, 4, .production_id = 33), + [1218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_kv, 1, .production_id = 30), + [1220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_kv, 1, .production_id = 31), + [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typelist, 2, .dynamic_precedence = 1), + [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typeparamlist, 2), + [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_paramlist, 1), + [1234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__method_name, 2, .production_id = 15), + [1236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__fntype_paramlist_repeat1, 2), SHIFT_REPEAT(266), + [1239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__fntype_paramlist_repeat1, 2), + [1241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__varlist_repeat1, 2), SHIFT_REPEAT(415), + [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tbtype_kvlist_repeat1, 2, .production_id = 40), + [1246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_stmt_packlist, 2), + [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interp_exp, 2), + [1250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [1252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_stmt_genlist, 2), + [1254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typeparamlist, 1), + [1256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [1258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_paramlist, 2), + [1260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [1262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(673), + [1266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), + [1270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [1272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690), + [1274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [1278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [1280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [1282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), + [1284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [1286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [1288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [1290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__param_vararg, 1), + [1292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_ifexp_repeat1, 1), + [1294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_ifexp_repeat1, 1), + [1296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_genpackdef, 3), + [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__paramlist_repeat1, 2, .production_id = 39), + [1300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691), + [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [1304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [1306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_fn_member, 2, .production_id = 22), + [1310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbl_fn_member, 2, .production_id = 15), + [1312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_content, 1, .production_id = 29), + [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [1330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [1332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [1336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [1338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [1340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [1342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [1344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [1346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [1348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [1350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typelist, 4, .dynamic_precedence = 1), + [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_stmt_genlist, 4), + [1360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [1362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [1368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [1370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typelist_vrd, 1, .dynamic_precedence = 1), + [1372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [1374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typelist, 3, .dynamic_precedence = 1), + [1376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [1378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689), + [1380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_paramlist, 4), + [1382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), + [1390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [1396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [1398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [1402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), + [1404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tbtype_content, 1), + [1406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [1408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [1410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_stmt_genlist, 3), + [1412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [1414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [1416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_paramlist_vrd, 1), + [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [1422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [1424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [1430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_paramlist, 3), + [1432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [1438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [1444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [1446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [1448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [1450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [1452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, .production_id = 11), + [1456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__paramlist, 4, .production_id = 16), + [1458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [1466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [1470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [1472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [1474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__genlist, 4), + [1476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), + [1478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [1482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [1484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(717), + [1488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [1496] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__typelist_vrd, 1, .dynamic_precedence = 1), REDUCE(sym__typepack_vrd, 1), + [1499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [1501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [1503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__fntype_gen, 3), + [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chunk, 1), + [1513] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [1517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), + [1519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fieldlist, 4), + [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [1523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [1525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__paramlist, 3, .production_id = 16), + [1527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [1529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [1531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [1533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__genlist, 3), + [1535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2), + [1537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 3), +}; + +#ifdef __cplusplus +extern "C" { +#endif +void *tree_sitter_luau_external_scanner_create(void); +void tree_sitter_luau_external_scanner_destroy(void *); +bool tree_sitter_luau_external_scanner_scan(void *, TSLexer *, const bool *); +unsigned tree_sitter_luau_external_scanner_serialize(void *, char *); +void tree_sitter_luau_external_scanner_deserialize(void *, const char *, unsigned); + +#ifdef _WIN32 +#define extern __declspec(dllexport) +#endif + +extern const TSLanguage *tree_sitter_luau(void) { + static const TSLanguage language = { + .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, + .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 = ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym_name, + .external_scanner = { + &ts_external_scanner_states[0][0], + ts_external_scanner_symbol_map, + tree_sitter_luau_external_scanner_create, + tree_sitter_luau_external_scanner_destroy, + tree_sitter_luau_external_scanner_scan, + tree_sitter_luau_external_scanner_serialize, + tree_sitter_luau_external_scanner_deserialize, + }, + .primary_state_ids = ts_primary_state_ids, + }; + return &language; +} +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/Luau/binding/scanner.c b/Luau/binding/scanner.c new file mode 100644 index 0000000..adc16c0 --- /dev/null +++ b/Luau/binding/scanner.c @@ -0,0 +1,442 @@ +#include +#include + +enum TokenType +{ + COMMENT_START, + COMMENT_CONTENT, + COMMENT_END, + STRING_START, + STRING_CONTENT, + STRING_END, + INTERP_START, + INTERP_CONTENT, + INTERP_BRACE_OPEN, + INTERP_BRACE_CLOSE, + INTERP_END +}; + +static void consume(TSLexer *lexer) +{ + lexer->advance(lexer, false); +} +static void skip(TSLexer *lexer) +{ + lexer->advance(lexer, true); +} +static bool consume_if(TSLexer *lexer, const int32_t character) +{ + if (lexer->lookahead == character) + { + consume(lexer); + return true; + } + + return false; +} +static bool skipwspace(TSLexer *lexer) +{ + if (iswspace(lexer->lookahead) || lexer->lookahead == '\r') + { + skip(lexer); + return true; + } + return false; +} + +const char SQ_STRING_DELIMITER = '\''; +const char DQ_STRING_DELIMITER = '"'; +const char TICK_DELIMITER = '`'; + +enum StartedToken +{ + SHORT_COMMENT = 1, + SHORT_SQ_STRING, + SHORT_DQ_STRING, + LONG_COMMENT, + LONG_STRING, + TICK_STRING, + INTERP_EXPRESSION, +}; + +struct ScannerState +{ + enum StartedToken started; + unsigned int depth; + unsigned int idepth; +}; + +void *tree_sitter_luau_external_scanner_create() +{ + // this used to be allocated without instantiation + struct ScannerState *state = malloc(sizeof(struct ScannerState)); + + state->started = 0; + state->depth = 0; + state->idepth = 0; + + return state; +} + +void tree_sitter_luau_external_scanner_destroy(void *payload) +{ + free(payload); +} + +unsigned int tree_sitter_luau_external_scanner_serialize(void *payload, char *buffer) +{ + struct ScannerState *state = payload; + buffer[0] = state->started; + buffer[1] = state->depth; + buffer[2] = state->idepth; + return 3; +} + +void tree_sitter_luau_external_scanner_deserialize(void *payload, const char *buffer, unsigned int length) +{ + if (length == 3) + { + struct ScannerState *state = payload; + state->started = buffer[0]; + state->depth = buffer[1]; + state->idepth = buffer[2]; + } +} + +static unsigned int get_depth(TSLexer *lexer) +{ + unsigned int current_depth = 0; + while (consume_if(lexer, '=')) + { + current_depth += 1; + } + + return current_depth; +} + +static bool scan_depth(TSLexer *lexer, unsigned int remaining_depth) +{ + while (remaining_depth > 0 && consume_if(lexer, '=')) + { + remaining_depth -= 1; + } + + return remaining_depth == 0; +} + +static bool escape_handler(TSLexer *lexer) +{ + + if (consume_if(lexer, '\\') && !lexer->eof(lexer)) + { + if (lexer->lookahead == '\r') + { + skip(lexer); + if (!lexer->eof(lexer) && lexer->lookahead == '\n') + { + skip(lexer); + } + } + else if (lexer->lookahead == '\n') + { + skip(lexer); + } + else if (consume_if(lexer, 'z') && !lexer->eof(lexer)) + { + while (skipwspace(lexer) && !lexer->eof(lexer)) + ; + return true; + } + } + return false; +} + +bool tree_sitter_luau_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) +{ + struct ScannerState *state = payload; + switch (state->started) + { + case SHORT_COMMENT: + { + // try to match the short comment's end (new line or eof) + if (lexer->lookahead == '\n' || lexer->eof(lexer)) + { + if (valid_symbols[COMMENT_END]) + { + state->started = state->idepth > 0 ? INTERP_EXPRESSION : 0; + + lexer->result_symbol = COMMENT_END; + return true; + } + } + else if (valid_symbols[COMMENT_CONTENT]) + { + // consume all characters till a short comment's end + do + { + consume(lexer); + } while (lexer->lookahead != '\n' && !lexer->eof(lexer)); + + lexer->result_symbol = COMMENT_CONTENT; + return true; + } + + break; + } + case SHORT_SQ_STRING: + case SHORT_DQ_STRING: + { + // define the short string's delimiter + const char delimiter = state->started == SHORT_SQ_STRING ? SQ_STRING_DELIMITER : DQ_STRING_DELIMITER; + + // try to match the short string's end (" or ') + if (consume_if(lexer, delimiter)) + { + if (valid_symbols[STRING_END]) + { + state->started = state->idepth > 0 ? INTERP_EXPRESSION : 0; + + lexer->result_symbol = STRING_END; + return true; + } + } + else if (lexer->lookahead != '\n' && !lexer->eof(lexer)) + { + if (valid_symbols[STRING_CONTENT]) + { + // consume any character till a short string's end, new line or eof + do + { + escape_handler(lexer); + + consume(lexer); + } while (lexer->lookahead != delimiter && lexer->lookahead != '\n' && !lexer->eof(lexer)); + + lexer->result_symbol = STRING_CONTENT; + return true; + } + } + + break; + } + case TICK_STRING: + { + const char delimiter = TICK_DELIMITER; + + if (consume_if(lexer, delimiter)) + { + if (valid_symbols[INTERP_END]) + { + state->started = state->idepth > 0 ? INTERP_EXPRESSION : 0; + + lexer->result_symbol = INTERP_END; + return true; + } + } + else if (consume_if(lexer, '{')) + { + state->idepth++; + state->started = INTERP_EXPRESSION; + lexer->result_symbol = INTERP_BRACE_OPEN; + return true; + } + else if (lexer->lookahead != '\n' && !lexer->eof(lexer)) + { + if (valid_symbols[INTERP_CONTENT]) + { + do + { + if (lexer->lookahead == '{') + { + break; + } + else + { + if (escape_handler(lexer)) + continue; + } + + consume(lexer); + } while (lexer->lookahead != delimiter && lexer->lookahead != '\n' && !lexer->eof(lexer)); + + lexer->result_symbol = INTERP_CONTENT; + return true; + } + } + + break; + } + case LONG_COMMENT: + case LONG_STRING: + { + const bool is_inside_a_comment = state->started == LONG_COMMENT; + + bool some_characters_were_consumed = false; + if (is_inside_a_comment ? valid_symbols[COMMENT_END] : valid_symbols[STRING_END]) + { + // try to match the long comment's/string's end (]=*]) + if (consume_if(lexer, ']')) + { + if (scan_depth(lexer, state->depth) && consume_if(lexer, ']')) + { + state->started = state->idepth > 0 ? INTERP_EXPRESSION : 0; + state->depth = 0; + + lexer->result_symbol = is_inside_a_comment ? COMMENT_END : STRING_END; + return true; + } + + some_characters_were_consumed = true; + } + } + + if (is_inside_a_comment ? valid_symbols[COMMENT_CONTENT] : valid_symbols[STRING_CONTENT]) + { + if (!some_characters_were_consumed) + { + if (lexer->eof(lexer)) + { + break; + } + + // consume the next character as it can't start a long comment's/string's end ([) + consume(lexer); + } + + // consume any character till a long comment's/string's end or eof + while (true) + { + lexer->mark_end(lexer); + if (consume_if(lexer, ']')) + { + if (scan_depth(lexer, state->depth)) + { + if (consume_if(lexer, ']')) + { + break; + } + } + else + { + continue; + } + } + + if (lexer->eof(lexer)) + { + break; + } + + consume(lexer); + } + + lexer->result_symbol = is_inside_a_comment ? COMMENT_CONTENT : STRING_CONTENT; + return true; + } + + break; + } + case INTERP_EXPRESSION: + { + while (skipwspace(lexer)) + ; + if (valid_symbols[INTERP_BRACE_CLOSE]) + { + if (consume_if(lexer, '}')) + { + state->idepth--; + state->started = TICK_STRING; + lexer->result_symbol = INTERP_BRACE_CLOSE; + return true; + } + } + } + default: + { + // ignore all whitespace + while (skipwspace(lexer)) + ; + + state->started = 0; + + if (valid_symbols[COMMENT_START]) + { + // try to match a short comment's start (--) + if (consume_if(lexer, '-')) + { + if (consume_if(lexer, '-')) + { + state->started = SHORT_COMMENT; + + // try to match a long comment's start (--[=*[) + lexer->mark_end(lexer); + if (consume_if(lexer, '[')) + { + unsigned int possible_depth = get_depth(lexer); + + if (consume_if(lexer, '[')) + { + state->started = LONG_COMMENT; + state->depth = possible_depth; + + lexer->mark_end(lexer); + } + } + + lexer->result_symbol = COMMENT_START; + return true; + } + + break; + } + } + + if (valid_symbols[STRING_START]) + { + // try to match a short single-quoted string's start (") + if (consume_if(lexer, SQ_STRING_DELIMITER)) + { + state->started = SHORT_SQ_STRING; + } + // try to match a short double-quoted string's start (') + else if (consume_if(lexer, DQ_STRING_DELIMITER)) + { + state->started = SHORT_DQ_STRING; + } + // try to match a long string's start ([=*[) + else if (consume_if(lexer, '[')) + { + unsigned int possible_depth = get_depth(lexer); + + if (consume_if(lexer, '[')) + { + state->started = LONG_STRING; + state->depth = possible_depth; + } + } + + if (state->started) + { + lexer->result_symbol = STRING_START; + return true; + } + } + + if (valid_symbols[INTERP_START]) + { + if (consume_if(lexer, TICK_DELIMITER)) + { + state->started = TICK_STRING; + lexer->result_symbol = INTERP_START; + return true; + } + } + + state->started = state->idepth > 0 ? INTERP_EXPRESSION : 0; + + break; + } + } + + return false; +} \ No newline at end of file diff --git a/Luau/binding/tree_sitter/parser.h b/Luau/binding/tree_sitter/parser.h new file mode 100644 index 0000000..72542b6 --- /dev/null +++ b/Luau/binding/tree_sitter/parser.h @@ -0,0 +1,224 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +typedef uint16_t TSStateId; + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +typedef struct { + uint16_t index; + uint16_t length; +} TSFieldMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +struct TSLanguage { + uint32_t version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSFieldMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; +}; + +/* + * Lexer Macros + */ + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) id - LARGE_STATE_COUNT + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = state_value \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = state_value, \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_val, child_count_val, ...) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_val, \ + .child_count = child_count_val, \ + __VA_ARGS__ \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_ \ No newline at end of file diff --git a/Luau/go.mod b/Luau/go.mod new file mode 100644 index 0000000..aa0f864 --- /dev/null +++ b/Luau/go.mod @@ -0,0 +1,8 @@ +module Luau + +go 1.22.1 + +require ( + github.com/TwiN/go-color v1.4.1 + github.com/smacker/go-tree-sitter v0.0.0-20240402012804-99ab967cf9b9 +) diff --git a/Luau/go.sum b/Luau/go.sum new file mode 100644 index 0000000..ca27469 --- /dev/null +++ b/Luau/go.sum @@ -0,0 +1,14 @@ +github.com/TwiN/go-color v1.4.1 h1:mqG0P/KBgHKVqmtL5ye7K0/Gr4l6hTksPgTgMk3mUzc= +github.com/TwiN/go-color v1.4.1/go.mod h1:WcPf/jtiW95WBIsEeY1Lc/b8aaWoiqQpu5cf8WFxu+s= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/smacker/go-tree-sitter v0.0.0-20240402012804-99ab967cf9b9 h1:5HSGLeLdHwoLEEr794DtHfFD67aF4rPLLQFfbVvEF2w= +github.com/smacker/go-tree-sitter v0.0.0-20240402012804-99ab967cf9b9/go.mod h1:q99oHDsbP0xRwmn7Vmob8gbSMNyvJ83OauXPSuHQuKE= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/Luau/main.go b/Luau/main.go new file mode 100644 index 0000000..86e1f74 --- /dev/null +++ b/Luau/main.go @@ -0,0 +1,260 @@ +package main + +import ( + luau "Luau/binding" + "context" + "fmt" + "os" + "strings" + + c "github.com/TwiN/go-color" + sitter "github.com/smacker/go-tree-sitter" +) + +func isInside(ntype string, node *sitter.Node) bool { + for node != nil { + if node.Type() == ntype { + return true + } + node = node.Parent() + } + return false +} + +func formatCode(sourceCode []byte, tree *sitter.Tree) string { + node := tree.RootNode() + + if node.HasError() { + fmt.Println("Error parsing code") + return string(sourceCode) + } + + var formatted strings.Builder + indent := 0 + // -1 means at the start of the file + // 0 means outside of a local var statement + // 1 means inside a local var statement + var insideLocal []bool + var insideComment []bool + + writeIndent := func() { + formatted.WriteString(strings.Repeat("\t", indent)) + } + + writeFormatted := func(node sitter.Node) { + // Write the formatted content to the string builder + content := node.Content(sourceCode) + ntype := node.Type() + + insideLocal = append(insideLocal, isInside("local_var_stmt", &node)) + insideComment = append(insideComment, isInside("comment", &node)) + + parent := node.Parent() + + switch ntype { + case "comment": + if len(insideComment) > 1 && !insideComment[len(insideComment)-2] { + formatted.WriteString("\n") + } + formatted.WriteString("\n") + writeIndent() + formatted.WriteString(content) + case "local": + if len(insideLocal) > 1 && !insideLocal[len(insideLocal)-2] && + len(insideComment) > 1 && !insideComment[len(insideComment)-2] { + formatted.WriteString("\n") + } + formatted.WriteString("\n") + writeIndent() + formatted.WriteString("local ") + case "name": + + if parent.Parent().Type() == "call_stmt" && !isInside("local_var_stmt", &node) { + if len(insideLocal) > 1 && insideLocal[len(insideLocal)-2] { + formatted.WriteString("\n") + } + formatted.WriteString("\n") + writeIndent() + } + formatted.WriteString(content) + case "=": + formatted.WriteString(" = ") + case "==": + formatted.WriteString(" == ") + case "number": + formatted.WriteString(content) + case "return": + formatted.WriteString("\n") + writeIndent() + formatted.WriteString("return ") + case "if": + ifType := parent.Type() + switch ifType { + case "if_stmt": + formatted.WriteString("\n") + writeIndent() + fallthrough + case "ifexp": + formatted.WriteString("if ") + default: + // damn better be unreachable + panic(c.InRed("Unknown if type ") + c.InYellow(ifType)) + } + case "then": + ifType := parent.Type() + switch ifType { + case "if_stmt": + formatted.WriteString(" then") + indent++ + case "ifexp": + formatted.WriteString(" then ") + case "elseif_clause": + formatted.WriteString(" then") + default: + panic(c.InRed("Unknown if type ") + c.InYellow(ifType)) + } + case "elseif": + pType := parent.Type() + // if it's in a statement, the parent will be the elseif clause + // if it's in an expression, the parent will be the if expression + var ifType string + switch pType { + case "elseif_clause": + ifType = parent.Parent().Type() + case "ifexp": + ifType = pType + default: + panic(c.InRed("Unknown parent type ") + c.InYellow(pType)) + } + + switch ifType { + case "if_stmt": + formatted.WriteString("\n") + indent-- + writeIndent() + formatted.WriteString("elseif ") + indent++ + case "ifexp": + formatted.WriteString(" elseif ") + default: + panic(c.InRed("Unknown if type ") + c.InYellow(ifType)) + } + case "else": + pType := parent.Type() + // if it's in a statement, the parent will be the else clause + // if it's in an expression, the parent will be the if expression + var ifType string + switch pType { + case "else_clause": + ifType = parent.Parent().Type() + case "ifexp": + ifType = pType + default: + panic(c.InRed("Unknown parent type ") + c.InYellow(pType)) + } + + switch ifType { + case "if_stmt": + formatted.WriteString("\n") + indent-- + writeIndent() + formatted.WriteString("else") + indent++ + case "ifexp": + formatted.WriteString(" else ") + default: + panic(c.InRed("Unknown if type ") + c.InYellow(ifType)) + } + case "end": + formatted.WriteString("\n") + indent-- + writeIndent() + formatted.WriteString("end") + case "string": + if parent.Type() == "arglist" && parent.ChildCount() == 1 { + // `print"whatever"` -> `print "whatever"` + formatted.WriteString(" ") + } + formatted.WriteString(content) + case "interp_start": + fallthrough + case "interp_end": + formatted.WriteString("`") + case "interp_content": + formatted.WriteString(content) + case "interp_brace_open": + formatted.WriteString("{") + case "interp_brace_close": + formatted.WriteString("}") + case ":": + formatted.WriteString(":") + case ".": + formatted.WriteString(".") + case "(": + argType := parent.Child(1).Type() + // `print("whatever")` -> `print "whatever"` + if parent.Type() == "arglist" && parent.ChildCount() > 3 || argType != "string" && argType != "table" { + formatted.WriteString("(") + } else { + formatted.WriteString(" ") + } + case ")": + argType := parent.Child(1).Type() + // `print("whatever")` -> `print "whatever"` + if parent.Type() == "arglist" && parent.ChildCount() > 3 || argType != "string" && argType != "table" { + formatted.WriteString(")") + } + case ",": + formatted.WriteString(", ") + case "true": + formatted.WriteString("true") + case "false": + formatted.WriteString("false") + default: + panic(c.InRed("Unknown node type ") + c.InYellow(ntype)) + } + } + + var appendLeaf func(node sitter.Node) + appendLeaf = func(node sitter.Node) { + // Print only the leaf nodes + if node.ChildCount() == 0 { + writeFormatted(node) + } else { + for i := 0; i < int(node.ChildCount()); i++ { + appendLeaf(*(node.Child(i))) + } + } + } + + appendLeaf(*node) + + return formatted.String() +} + +func main() { + parser := sitter.NewParser() + parser.SetLanguage(luau.GetLuau()) + + filename := "test.luau" + + sourceCode, err := os.ReadFile(filename) + if err != nil { + fmt.Println(err) + return + } + + tree, _ := parser.ParseCtx(context.Background(), nil, sourceCode) + formatted := formatCode(sourceCode, tree) + + // replace all ending newlines with a single newline + formatted = strings.Trim(formatted, "\n") + "\n" + + // write back to file + err = os.WriteFile(filename, []byte(formatted), 0o644) + if err != nil { + fmt.Println(err) + return + } + +}