#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 1052 #define LARGE_STATE_COUNT 20 #define SYMBOL_COUNT 198 #define ALIAS_COUNT 2 #define TOKEN_COUNT 85 #define EXTERNAL_TOKEN_COUNT 6 #define FIELD_COUNT 35 #define MAX_ALIAS_SEQUENCE_LENGTH 9 #define PRODUCTION_ID_COUNT 99 enum { sym_lower_case_identifier = 1, anon_sym_LBRACE_DASH = 2, anon_sym_DASH_RBRACE = 3, sym_line_comment = 4, anon_sym_LPAREN = 5, anon_sym_COMMA = 6, anon_sym_RPAREN = 7, sym__upper_case_identifier_without_leading_whitespace = 8, sym__lower_case_identifier_without_leading_whitespace = 9, sym__dot_without_leading_whitespace = 10, anon_sym_PIPE = 11, anon_sym_LBRACE = 12, anon_sym_RBRACE = 13, anon_sym_SQUOTE = 14, aux_sym_char_constant_expr_token1 = 15, anon_sym_DQUOTE_DQUOTE_DQUOTE = 16, aux_sym_string_constant_expr_token1 = 17, anon_sym_DQUOTE = 18, aux_sym_string_constant_expr_token2 = 19, anon_sym_LBRACK = 20, anon_sym_RBRACK = 21, anon_sym_else = 22, anon_sym_if = 23, anon_sym_then = 24, anon_sym_let = 25, anon_sym_in = 26, anon_sym_COLON_COLON = 27, anon_sym_left = 28, anon_sym_right = 29, anon_sym_non = 30, sym__glsl_begin = 31, sym__glsl_end = 32, sym_upper_case_identifier = 33, sym_number_literal = 34, sym_string_escape = 35, sym_invalid_string_escape = 36, sym_module = 37, sym_effect = 38, sym_where = 39, sym_import = 40, sym_as = 41, sym_exposing = 42, sym_case = 43, sym_of = 44, sym_type = 45, sym_alias = 46, sym_port = 47, sym_infix = 48, sym_double_dot = 49, sym_eq = 50, sym_arrow = 51, sym_colon = 52, sym_backslash = 53, sym_underscore = 54, sym_dot = 55, anon_sym_PLUS = 56, anon_sym_DASH = 57, anon_sym_STAR = 58, anon_sym_SLASH = 59, anon_sym_SLASH_SLASH = 60, anon_sym_CARET = 61, anon_sym_EQ_EQ = 62, anon_sym_SLASH_EQ = 63, anon_sym_LT = 64, anon_sym_GT = 65, anon_sym_LT_EQ = 66, anon_sym_GT_EQ = 67, anon_sym_AMP_AMP = 68, anon_sym_PIPE_PIPE = 69, anon_sym_PLUS_PLUS = 70, anon_sym_LT_PIPE = 71, anon_sym_PIPE_GT = 72, anon_sym_LT_LT = 73, anon_sym_GT_GT = 74, anon_sym_LT_SLASH_GT = 75, anon_sym_LT_QMARK_GT = 76, anon_sym_PIPE_DOT = 77, anon_sym_PIPE_EQ = 78, sym__virtual_end_decl = 79, sym__virtual_open_section = 80, sym__virtual_end_section = 81, sym_minus_without_trailing_whitespace = 82, sym_glsl_content = 83, sym__block_comment_content = 84, sym_file = 85, sym_block_comment = 86, sym_module_declaration = 87, aux_sym__import_list = 88, aux_sym__top_decl_list = 89, sym_exposing_list = 90, sym_exposed_value = 91, sym_exposed_type = 92, sym_exposed_union_constructors = 93, sym_exposed_operator = 94, sym_upper_case_qid = 95, sym_value_qid = 96, sym_field_accessor_function_expr = 97, sym_import_clause = 98, sym_as_clause = 99, sym_value_declaration = 100, sym_function_declaration_left = 101, sym_type_declaration = 102, sym_lower_type_name = 103, sym_union_variant = 104, sym__more_union_variants = 105, sym_type_alias_declaration = 106, sym_type_expression = 107, sym__type_expression_inner = 108, sym_type_ref = 109, sym__single_type_expression = 110, sym_type_ref_without_args = 111, sym_type_variable = 112, sym_record_type = 113, sym_field_type = 114, sym_tuple_type = 115, sym_type_annotation = 116, sym_port_annotation = 117, sym__expression = 118, sym_bin_op_expr = 119, sym_operator = 120, sym_operator_as_function_expr = 121, sym__operator_as_function_inner = 122, sym__call_or_atom = 123, sym_function_call_expr = 124, sym__function_call_target = 125, sym__atom = 126, sym_field_access_expr = 127, sym__field_access_start = 128, sym__field_access_segment = 129, sym_negate_expr = 130, sym_parenthesized_expr = 131, sym__literal_expr_group = 132, sym_char_constant_expr = 133, sym_number_constant_expr = 134, sym_string_constant_expr = 135, sym_anonymous_function_expr = 136, sym_value_expr = 137, sym_tuple_expr = 138, sym_unit_expr = 139, sym_list_expr = 140, sym_record_expr = 141, sym_record_base_identifier = 142, sym__record_base = 143, sym__record_inner = 144, sym_field = 145, sym_if_else_expr = 146, sym__if = 147, sym__then = 148, sym__else = 149, sym_case_of_expr = 150, sym__more_case_of_branches = 151, sym_case_of_branch = 152, sym_let_in_expr = 153, sym__inner_declaration = 154, sym_pattern = 155, sym_cons_pattern = 156, sym__single_pattern_cons = 157, sym__single_pattern = 158, sym_lower_pattern = 159, sym_anything_pattern = 160, sym_record_pattern = 161, sym_list_pattern = 162, sym_union_pattern = 163, sym_nullary_constructor_argument_pattern = 164, sym__union_argument_pattern = 165, sym_tuple_pattern = 166, sym__parenthesized_pattern = 167, sym_infix_declaration = 168, sym_glsl_code_expr = 169, sym_operator_identifier = 170, aux_sym_exposing_list_repeat1 = 171, aux_sym_upper_case_qid_repeat1 = 172, aux_sym_value_qid_repeat1 = 173, aux_sym_function_declaration_left_repeat1 = 174, aux_sym_type_declaration_repeat1 = 175, aux_sym_type_declaration_repeat2 = 176, aux_sym_union_variant_repeat1 = 177, aux_sym_type_expression_repeat1 = 178, aux_sym_type_ref_repeat1 = 179, aux_sym_record_type_repeat1 = 180, aux_sym_tuple_type_repeat1 = 181, aux_sym_bin_op_expr_repeat1 = 182, aux_sym_function_call_expr_repeat1 = 183, aux_sym_field_access_expr_repeat1 = 184, aux_sym_string_constant_expr_repeat1 = 185, aux_sym_string_constant_expr_repeat2 = 186, aux_sym_anonymous_function_expr_repeat1 = 187, aux_sym_tuple_expr_repeat1 = 188, aux_sym_list_expr_repeat1 = 189, aux_sym__record_inner_repeat1 = 190, aux_sym_if_else_expr_repeat1 = 191, aux_sym__more_case_of_branches_repeat1 = 192, aux_sym_let_in_expr_repeat1 = 193, aux_sym_record_pattern_repeat1 = 194, aux_sym_list_pattern_repeat1 = 195, aux_sym_union_pattern_repeat1 = 196, aux_sym_tuple_pattern_repeat1 = 197, alias_sym_close_char = 198, alias_sym_close_quote = 199, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_lower_case_identifier] = "lower_case_identifier", [anon_sym_LBRACE_DASH] = "{-", [anon_sym_DASH_RBRACE] = "-}", [sym_line_comment] = "line_comment", [anon_sym_LPAREN] = "(", [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", [sym__upper_case_identifier_without_leading_whitespace] = "upper_case_identifier", [sym__lower_case_identifier_without_leading_whitespace] = "lower_case_identifier", [sym__dot_without_leading_whitespace] = "dot", [anon_sym_PIPE] = "|", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_SQUOTE] = "open_char", [aux_sym_char_constant_expr_token1] = "regular_string_part", [anon_sym_DQUOTE_DQUOTE_DQUOTE] = "open_quote", [aux_sym_string_constant_expr_token1] = "regular_string_part", [anon_sym_DQUOTE] = "open_quote", [aux_sym_string_constant_expr_token2] = "regular_string_part", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_else] = "else", [anon_sym_if] = "if", [anon_sym_then] = "then", [anon_sym_let] = "let", [anon_sym_in] = "in", [anon_sym_COLON_COLON] = "::", [anon_sym_left] = "lower_case_identifier", [anon_sym_right] = "lower_case_identifier", [anon_sym_non] = "lower_case_identifier", [sym__glsl_begin] = "_glsl_begin", [sym__glsl_end] = "_glsl_end", [sym_upper_case_identifier] = "upper_case_identifier", [sym_number_literal] = "number_literal", [sym_string_escape] = "string_escape", [sym_invalid_string_escape] = "invalid_string_escape", [sym_module] = "module", [sym_effect] = "effect", [sym_where] = "where", [sym_import] = "import", [sym_as] = "as", [sym_exposing] = "exposing", [sym_case] = "case", [sym_of] = "of", [sym_type] = "type", [sym_alias] = "alias", [sym_port] = "port", [sym_infix] = "infix", [sym_double_dot] = "double_dot", [sym_eq] = "eq", [sym_arrow] = "arrow", [sym_colon] = "colon", [sym_backslash] = "backslash", [sym_underscore] = "underscore", [sym_dot] = "dot", [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_STAR] = "*", [anon_sym_SLASH] = "/", [anon_sym_SLASH_SLASH] = "//", [anon_sym_CARET] = "^", [anon_sym_EQ_EQ] = "==", [anon_sym_SLASH_EQ] = "/=", [anon_sym_LT] = "<", [anon_sym_GT] = ">", [anon_sym_LT_EQ] = "<=", [anon_sym_GT_EQ] = ">=", [anon_sym_AMP_AMP] = "&&", [anon_sym_PIPE_PIPE] = "||", [anon_sym_PLUS_PLUS] = "++", [anon_sym_LT_PIPE] = "<|", [anon_sym_PIPE_GT] = "|>", [anon_sym_LT_LT] = "<<", [anon_sym_GT_GT] = ">>", [anon_sym_LT_SLASH_GT] = "", [anon_sym_LT_QMARK_GT] = "<\?>", [anon_sym_PIPE_DOT] = "|.", [anon_sym_PIPE_EQ] = "|=", [sym__virtual_end_decl] = "_virtual_end_decl", [sym__virtual_open_section] = "_virtual_open_section", [sym__virtual_end_section] = "_virtual_end_section", [sym_minus_without_trailing_whitespace] = "operator_identifier", [sym_glsl_content] = "glsl_content", [sym__block_comment_content] = "_block_comment_content", [sym_file] = "file", [sym_block_comment] = "block_comment", [sym_module_declaration] = "module_declaration", [aux_sym__import_list] = "_import_list", [aux_sym__top_decl_list] = "_top_decl_list", [sym_exposing_list] = "exposing_list", [sym_exposed_value] = "exposed_value", [sym_exposed_type] = "exposed_type", [sym_exposed_union_constructors] = "exposed_union_constructors", [sym_exposed_operator] = "exposed_operator", [sym_upper_case_qid] = "upper_case_qid", [sym_value_qid] = "value_qid", [sym_field_accessor_function_expr] = "field_accessor_function_expr", [sym_import_clause] = "import_clause", [sym_as_clause] = "as_clause", [sym_value_declaration] = "value_declaration", [sym_function_declaration_left] = "function_declaration_left", [sym_type_declaration] = "type_declaration", [sym_lower_type_name] = "lower_type_name", [sym_union_variant] = "union_variant", [sym__more_union_variants] = "_more_union_variants", [sym_type_alias_declaration] = "type_alias_declaration", [sym_type_expression] = "type_expression", [sym__type_expression_inner] = "_type_expression_inner", [sym_type_ref] = "type_ref", [sym__single_type_expression] = "_single_type_expression", [sym_type_ref_without_args] = "type_ref", [sym_type_variable] = "type_variable", [sym_record_type] = "record_type", [sym_field_type] = "field_type", [sym_tuple_type] = "tuple_type", [sym_type_annotation] = "type_annotation", [sym_port_annotation] = "port_annotation", [sym__expression] = "_expression", [sym_bin_op_expr] = "bin_op_expr", [sym_operator] = "operator", [sym_operator_as_function_expr] = "operator_as_function_expr", [sym__operator_as_function_inner] = "_operator_as_function_inner", [sym__call_or_atom] = "_call_or_atom", [sym_function_call_expr] = "function_call_expr", [sym__function_call_target] = "_function_call_target", [sym__atom] = "_atom", [sym_field_access_expr] = "field_access_expr", [sym__field_access_start] = "_field_access_start", [sym__field_access_segment] = "_field_access_segment", [sym_negate_expr] = "negate_expr", [sym_parenthesized_expr] = "parenthesized_expr", [sym__literal_expr_group] = "_literal_expr_group", [sym_char_constant_expr] = "char_constant_expr", [sym_number_constant_expr] = "number_constant_expr", [sym_string_constant_expr] = "string_constant_expr", [sym_anonymous_function_expr] = "anonymous_function_expr", [sym_value_expr] = "value_expr", [sym_tuple_expr] = "tuple_expr", [sym_unit_expr] = "unit_expr", [sym_list_expr] = "list_expr", [sym_record_expr] = "record_expr", [sym_record_base_identifier] = "record_base_identifier", [sym__record_base] = "_record_base", [sym__record_inner] = "_record_inner", [sym_field] = "field", [sym_if_else_expr] = "if_else_expr", [sym__if] = "_if", [sym__then] = "_then", [sym__else] = "_else", [sym_case_of_expr] = "case_of_expr", [sym__more_case_of_branches] = "_more_case_of_branches", [sym_case_of_branch] = "case_of_branch", [sym_let_in_expr] = "let_in_expr", [sym__inner_declaration] = "_inner_declaration", [sym_pattern] = "pattern", [sym_cons_pattern] = "cons_pattern", [sym__single_pattern_cons] = "_single_pattern_cons", [sym__single_pattern] = "_single_pattern", [sym_lower_pattern] = "lower_pattern", [sym_anything_pattern] = "anything_pattern", [sym_record_pattern] = "record_pattern", [sym_list_pattern] = "list_pattern", [sym_union_pattern] = "union_pattern", [sym_nullary_constructor_argument_pattern] = "nullary_constructor_argument_pattern", [sym__union_argument_pattern] = "_union_argument_pattern", [sym_tuple_pattern] = "tuple_pattern", [sym__parenthesized_pattern] = "_parenthesized_pattern", [sym_infix_declaration] = "infix_declaration", [sym_glsl_code_expr] = "glsl_code_expr", [sym_operator_identifier] = "operator_identifier", [aux_sym_exposing_list_repeat1] = "exposing_list_repeat1", [aux_sym_upper_case_qid_repeat1] = "upper_case_qid_repeat1", [aux_sym_value_qid_repeat1] = "value_qid_repeat1", [aux_sym_function_declaration_left_repeat1] = "function_declaration_left_repeat1", [aux_sym_type_declaration_repeat1] = "type_declaration_repeat1", [aux_sym_type_declaration_repeat2] = "type_declaration_repeat2", [aux_sym_union_variant_repeat1] = "union_variant_repeat1", [aux_sym_type_expression_repeat1] = "type_expression_repeat1", [aux_sym_type_ref_repeat1] = "type_ref_repeat1", [aux_sym_record_type_repeat1] = "record_type_repeat1", [aux_sym_tuple_type_repeat1] = "tuple_type_repeat1", [aux_sym_bin_op_expr_repeat1] = "bin_op_expr_repeat1", [aux_sym_function_call_expr_repeat1] = "function_call_expr_repeat1", [aux_sym_field_access_expr_repeat1] = "field_access_expr_repeat1", [aux_sym_string_constant_expr_repeat1] = "string_constant_expr_repeat1", [aux_sym_string_constant_expr_repeat2] = "string_constant_expr_repeat2", [aux_sym_anonymous_function_expr_repeat1] = "anonymous_function_expr_repeat1", [aux_sym_tuple_expr_repeat1] = "tuple_expr_repeat1", [aux_sym_list_expr_repeat1] = "list_expr_repeat1", [aux_sym__record_inner_repeat1] = "_record_inner_repeat1", [aux_sym_if_else_expr_repeat1] = "if_else_expr_repeat1", [aux_sym__more_case_of_branches_repeat1] = "_more_case_of_branches_repeat1", [aux_sym_let_in_expr_repeat1] = "let_in_expr_repeat1", [aux_sym_record_pattern_repeat1] = "record_pattern_repeat1", [aux_sym_list_pattern_repeat1] = "list_pattern_repeat1", [aux_sym_union_pattern_repeat1] = "union_pattern_repeat1", [aux_sym_tuple_pattern_repeat1] = "tuple_pattern_repeat1", [alias_sym_close_char] = "close_char", [alias_sym_close_quote] = "close_quote", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_lower_case_identifier] = sym_lower_case_identifier, [anon_sym_LBRACE_DASH] = anon_sym_LBRACE_DASH, [anon_sym_DASH_RBRACE] = anon_sym_DASH_RBRACE, [sym_line_comment] = sym_line_comment, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, [sym__upper_case_identifier_without_leading_whitespace] = sym_upper_case_identifier, [sym__lower_case_identifier_without_leading_whitespace] = sym_lower_case_identifier, [sym__dot_without_leading_whitespace] = sym_dot, [anon_sym_PIPE] = anon_sym_PIPE, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_SQUOTE] = anon_sym_SQUOTE, [aux_sym_char_constant_expr_token1] = aux_sym_char_constant_expr_token1, [anon_sym_DQUOTE_DQUOTE_DQUOTE] = anon_sym_DQUOTE_DQUOTE_DQUOTE, [aux_sym_string_constant_expr_token1] = aux_sym_char_constant_expr_token1, [anon_sym_DQUOTE] = anon_sym_DQUOTE_DQUOTE_DQUOTE, [aux_sym_string_constant_expr_token2] = aux_sym_char_constant_expr_token1, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_else] = anon_sym_else, [anon_sym_if] = anon_sym_if, [anon_sym_then] = anon_sym_then, [anon_sym_let] = anon_sym_let, [anon_sym_in] = anon_sym_in, [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, [anon_sym_left] = sym_lower_case_identifier, [anon_sym_right] = sym_lower_case_identifier, [anon_sym_non] = sym_lower_case_identifier, [sym__glsl_begin] = sym__glsl_begin, [sym__glsl_end] = sym__glsl_end, [sym_upper_case_identifier] = sym_upper_case_identifier, [sym_number_literal] = sym_number_literal, [sym_string_escape] = sym_string_escape, [sym_invalid_string_escape] = sym_invalid_string_escape, [sym_module] = sym_module, [sym_effect] = sym_effect, [sym_where] = sym_where, [sym_import] = sym_import, [sym_as] = sym_as, [sym_exposing] = sym_exposing, [sym_case] = sym_case, [sym_of] = sym_of, [sym_type] = sym_type, [sym_alias] = sym_alias, [sym_port] = sym_port, [sym_infix] = sym_infix, [sym_double_dot] = sym_double_dot, [sym_eq] = sym_eq, [sym_arrow] = sym_arrow, [sym_colon] = sym_colon, [sym_backslash] = sym_backslash, [sym_underscore] = sym_underscore, [sym_dot] = sym_dot, [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_CARET] = anon_sym_CARET, [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, [anon_sym_LT] = anon_sym_LT, [anon_sym_GT] = anon_sym_GT, [anon_sym_LT_EQ] = anon_sym_LT_EQ, [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, [anon_sym_LT_PIPE] = anon_sym_LT_PIPE, [anon_sym_PIPE_GT] = anon_sym_PIPE_GT, [anon_sym_LT_LT] = anon_sym_LT_LT, [anon_sym_GT_GT] = anon_sym_GT_GT, [anon_sym_LT_SLASH_GT] = anon_sym_LT_SLASH_GT, [anon_sym_LT_QMARK_GT] = anon_sym_LT_QMARK_GT, [anon_sym_PIPE_DOT] = anon_sym_PIPE_DOT, [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ, [sym__virtual_end_decl] = sym__virtual_end_decl, [sym__virtual_open_section] = sym__virtual_open_section, [sym__virtual_end_section] = sym__virtual_end_section, [sym_minus_without_trailing_whitespace] = sym_operator_identifier, [sym_glsl_content] = sym_glsl_content, [sym__block_comment_content] = sym__block_comment_content, [sym_file] = sym_file, [sym_block_comment] = sym_block_comment, [sym_module_declaration] = sym_module_declaration, [aux_sym__import_list] = aux_sym__import_list, [aux_sym__top_decl_list] = aux_sym__top_decl_list, [sym_exposing_list] = sym_exposing_list, [sym_exposed_value] = sym_exposed_value, [sym_exposed_type] = sym_exposed_type, [sym_exposed_union_constructors] = sym_exposed_union_constructors, [sym_exposed_operator] = sym_exposed_operator, [sym_upper_case_qid] = sym_upper_case_qid, [sym_value_qid] = sym_value_qid, [sym_field_accessor_function_expr] = sym_field_accessor_function_expr, [sym_import_clause] = sym_import_clause, [sym_as_clause] = sym_as_clause, [sym_value_declaration] = sym_value_declaration, [sym_function_declaration_left] = sym_function_declaration_left, [sym_type_declaration] = sym_type_declaration, [sym_lower_type_name] = sym_lower_type_name, [sym_union_variant] = sym_union_variant, [sym__more_union_variants] = sym__more_union_variants, [sym_type_alias_declaration] = sym_type_alias_declaration, [sym_type_expression] = sym_type_expression, [sym__type_expression_inner] = sym__type_expression_inner, [sym_type_ref] = sym_type_ref, [sym__single_type_expression] = sym__single_type_expression, [sym_type_ref_without_args] = sym_type_ref, [sym_type_variable] = sym_type_variable, [sym_record_type] = sym_record_type, [sym_field_type] = sym_field_type, [sym_tuple_type] = sym_tuple_type, [sym_type_annotation] = sym_type_annotation, [sym_port_annotation] = sym_port_annotation, [sym__expression] = sym__expression, [sym_bin_op_expr] = sym_bin_op_expr, [sym_operator] = sym_operator, [sym_operator_as_function_expr] = sym_operator_as_function_expr, [sym__operator_as_function_inner] = sym__operator_as_function_inner, [sym__call_or_atom] = sym__call_or_atom, [sym_function_call_expr] = sym_function_call_expr, [sym__function_call_target] = sym__function_call_target, [sym__atom] = sym__atom, [sym_field_access_expr] = sym_field_access_expr, [sym__field_access_start] = sym__field_access_start, [sym__field_access_segment] = sym__field_access_segment, [sym_negate_expr] = sym_negate_expr, [sym_parenthesized_expr] = sym_parenthesized_expr, [sym__literal_expr_group] = sym__literal_expr_group, [sym_char_constant_expr] = sym_char_constant_expr, [sym_number_constant_expr] = sym_number_constant_expr, [sym_string_constant_expr] = sym_string_constant_expr, [sym_anonymous_function_expr] = sym_anonymous_function_expr, [sym_value_expr] = sym_value_expr, [sym_tuple_expr] = sym_tuple_expr, [sym_unit_expr] = sym_unit_expr, [sym_list_expr] = sym_list_expr, [sym_record_expr] = sym_record_expr, [sym_record_base_identifier] = sym_record_base_identifier, [sym__record_base] = sym__record_base, [sym__record_inner] = sym__record_inner, [sym_field] = sym_field, [sym_if_else_expr] = sym_if_else_expr, [sym__if] = sym__if, [sym__then] = sym__then, [sym__else] = sym__else, [sym_case_of_expr] = sym_case_of_expr, [sym__more_case_of_branches] = sym__more_case_of_branches, [sym_case_of_branch] = sym_case_of_branch, [sym_let_in_expr] = sym_let_in_expr, [sym__inner_declaration] = sym__inner_declaration, [sym_pattern] = sym_pattern, [sym_cons_pattern] = sym_cons_pattern, [sym__single_pattern_cons] = sym__single_pattern_cons, [sym__single_pattern] = sym__single_pattern, [sym_lower_pattern] = sym_lower_pattern, [sym_anything_pattern] = sym_anything_pattern, [sym_record_pattern] = sym_record_pattern, [sym_list_pattern] = sym_list_pattern, [sym_union_pattern] = sym_union_pattern, [sym_nullary_constructor_argument_pattern] = sym_nullary_constructor_argument_pattern, [sym__union_argument_pattern] = sym__union_argument_pattern, [sym_tuple_pattern] = sym_tuple_pattern, [sym__parenthesized_pattern] = sym__parenthesized_pattern, [sym_infix_declaration] = sym_infix_declaration, [sym_glsl_code_expr] = sym_glsl_code_expr, [sym_operator_identifier] = sym_operator_identifier, [aux_sym_exposing_list_repeat1] = aux_sym_exposing_list_repeat1, [aux_sym_upper_case_qid_repeat1] = aux_sym_upper_case_qid_repeat1, [aux_sym_value_qid_repeat1] = aux_sym_value_qid_repeat1, [aux_sym_function_declaration_left_repeat1] = aux_sym_function_declaration_left_repeat1, [aux_sym_type_declaration_repeat1] = aux_sym_type_declaration_repeat1, [aux_sym_type_declaration_repeat2] = aux_sym_type_declaration_repeat2, [aux_sym_union_variant_repeat1] = aux_sym_union_variant_repeat1, [aux_sym_type_expression_repeat1] = aux_sym_type_expression_repeat1, [aux_sym_type_ref_repeat1] = aux_sym_type_ref_repeat1, [aux_sym_record_type_repeat1] = aux_sym_record_type_repeat1, [aux_sym_tuple_type_repeat1] = aux_sym_tuple_type_repeat1, [aux_sym_bin_op_expr_repeat1] = aux_sym_bin_op_expr_repeat1, [aux_sym_function_call_expr_repeat1] = aux_sym_function_call_expr_repeat1, [aux_sym_field_access_expr_repeat1] = aux_sym_field_access_expr_repeat1, [aux_sym_string_constant_expr_repeat1] = aux_sym_string_constant_expr_repeat1, [aux_sym_string_constant_expr_repeat2] = aux_sym_string_constant_expr_repeat2, [aux_sym_anonymous_function_expr_repeat1] = aux_sym_anonymous_function_expr_repeat1, [aux_sym_tuple_expr_repeat1] = aux_sym_tuple_expr_repeat1, [aux_sym_list_expr_repeat1] = aux_sym_list_expr_repeat1, [aux_sym__record_inner_repeat1] = aux_sym__record_inner_repeat1, [aux_sym_if_else_expr_repeat1] = aux_sym_if_else_expr_repeat1, [aux_sym__more_case_of_branches_repeat1] = aux_sym__more_case_of_branches_repeat1, [aux_sym_let_in_expr_repeat1] = aux_sym_let_in_expr_repeat1, [aux_sym_record_pattern_repeat1] = aux_sym_record_pattern_repeat1, [aux_sym_list_pattern_repeat1] = aux_sym_list_pattern_repeat1, [aux_sym_union_pattern_repeat1] = aux_sym_union_pattern_repeat1, [aux_sym_tuple_pattern_repeat1] = aux_sym_tuple_pattern_repeat1, [alias_sym_close_char] = alias_sym_close_char, [alias_sym_close_quote] = alias_sym_close_quote, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_lower_case_identifier] = { .visible = true, .named = true, }, [anon_sym_LBRACE_DASH] = { .visible = true, .named = false, }, [anon_sym_DASH_RBRACE] = { .visible = true, .named = false, }, [sym_line_comment] = { .visible = true, .named = true, }, [anon_sym_LPAREN] = { .visible = true, .named = false, }, [anon_sym_COMMA] = { .visible = true, .named = false, }, [anon_sym_RPAREN] = { .visible = true, .named = false, }, [sym__upper_case_identifier_without_leading_whitespace] = { .visible = true, .named = true, }, [sym__lower_case_identifier_without_leading_whitespace] = { .visible = true, .named = true, }, [sym__dot_without_leading_whitespace] = { .visible = true, .named = true, }, [anon_sym_PIPE] = { .visible = true, .named = false, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [anon_sym_SQUOTE] = { .visible = true, .named = true, }, [aux_sym_char_constant_expr_token1] = { .visible = true, .named = true, }, [anon_sym_DQUOTE_DQUOTE_DQUOTE] = { .visible = true, .named = true, }, [aux_sym_string_constant_expr_token1] = { .visible = true, .named = true, }, [anon_sym_DQUOTE] = { .visible = true, .named = true, }, [aux_sym_string_constant_expr_token2] = { .visible = true, .named = true, }, [anon_sym_LBRACK] = { .visible = true, .named = false, }, [anon_sym_RBRACK] = { .visible = true, .named = false, }, [anon_sym_else] = { .visible = true, .named = false, }, [anon_sym_if] = { .visible = true, .named = false, }, [anon_sym_then] = { .visible = true, .named = false, }, [anon_sym_let] = { .visible = true, .named = false, }, [anon_sym_in] = { .visible = true, .named = false, }, [anon_sym_COLON_COLON] = { .visible = true, .named = false, }, [anon_sym_left] = { .visible = true, .named = true, }, [anon_sym_right] = { .visible = true, .named = true, }, [anon_sym_non] = { .visible = true, .named = true, }, [sym__glsl_begin] = { .visible = false, .named = true, }, [sym__glsl_end] = { .visible = false, .named = true, }, [sym_upper_case_identifier] = { .visible = true, .named = true, }, [sym_number_literal] = { .visible = true, .named = true, }, [sym_string_escape] = { .visible = true, .named = true, }, [sym_invalid_string_escape] = { .visible = true, .named = true, }, [sym_module] = { .visible = true, .named = true, }, [sym_effect] = { .visible = true, .named = true, }, [sym_where] = { .visible = true, .named = true, }, [sym_import] = { .visible = true, .named = true, }, [sym_as] = { .visible = true, .named = true, }, [sym_exposing] = { .visible = true, .named = true, }, [sym_case] = { .visible = true, .named = true, }, [sym_of] = { .visible = true, .named = true, }, [sym_type] = { .visible = true, .named = true, }, [sym_alias] = { .visible = true, .named = true, }, [sym_port] = { .visible = true, .named = true, }, [sym_infix] = { .visible = true, .named = true, }, [sym_double_dot] = { .visible = true, .named = true, }, [sym_eq] = { .visible = true, .named = true, }, [sym_arrow] = { .visible = true, .named = true, }, [sym_colon] = { .visible = true, .named = true, }, [sym_backslash] = { .visible = true, .named = true, }, [sym_underscore] = { .visible = true, .named = true, }, [sym_dot] = { .visible = true, .named = true, }, [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_CARET] = { .visible = true, .named = false, }, [anon_sym_EQ_EQ] = { .visible = true, .named = false, }, [anon_sym_SLASH_EQ] = { .visible = true, .named = false, }, [anon_sym_LT] = { .visible = true, .named = false, }, [anon_sym_GT] = { .visible = true, .named = false, }, [anon_sym_LT_EQ] = { .visible = true, .named = false, }, [anon_sym_GT_EQ] = { .visible = true, .named = false, }, [anon_sym_AMP_AMP] = { .visible = true, .named = false, }, [anon_sym_PIPE_PIPE] = { .visible = true, .named = false, }, [anon_sym_PLUS_PLUS] = { .visible = true, .named = false, }, [anon_sym_LT_PIPE] = { .visible = true, .named = false, }, [anon_sym_PIPE_GT] = { .visible = true, .named = false, }, [anon_sym_LT_LT] = { .visible = true, .named = false, }, [anon_sym_GT_GT] = { .visible = true, .named = false, }, [anon_sym_LT_SLASH_GT] = { .visible = true, .named = false, }, [anon_sym_LT_QMARK_GT] = { .visible = true, .named = false, }, [anon_sym_PIPE_DOT] = { .visible = true, .named = false, }, [anon_sym_PIPE_EQ] = { .visible = true, .named = false, }, [sym__virtual_end_decl] = { .visible = false, .named = true, }, [sym__virtual_open_section] = { .visible = false, .named = true, }, [sym__virtual_end_section] = { .visible = false, .named = true, }, [sym_minus_without_trailing_whitespace] = { .visible = true, .named = true, }, [sym_glsl_content] = { .visible = true, .named = true, }, [sym__block_comment_content] = { .visible = false, .named = true, }, [sym_file] = { .visible = true, .named = true, }, [sym_block_comment] = { .visible = true, .named = true, }, [sym_module_declaration] = { .visible = true, .named = true, }, [aux_sym__import_list] = { .visible = false, .named = false, }, [aux_sym__top_decl_list] = { .visible = false, .named = false, }, [sym_exposing_list] = { .visible = true, .named = true, }, [sym_exposed_value] = { .visible = true, .named = true, }, [sym_exposed_type] = { .visible = true, .named = true, }, [sym_exposed_union_constructors] = { .visible = true, .named = true, }, [sym_exposed_operator] = { .visible = true, .named = true, }, [sym_upper_case_qid] = { .visible = true, .named = true, }, [sym_value_qid] = { .visible = true, .named = true, }, [sym_field_accessor_function_expr] = { .visible = true, .named = true, }, [sym_import_clause] = { .visible = true, .named = true, }, [sym_as_clause] = { .visible = true, .named = true, }, [sym_value_declaration] = { .visible = true, .named = true, }, [sym_function_declaration_left] = { .visible = true, .named = true, }, [sym_type_declaration] = { .visible = true, .named = true, }, [sym_lower_type_name] = { .visible = true, .named = true, }, [sym_union_variant] = { .visible = true, .named = true, }, [sym__more_union_variants] = { .visible = false, .named = true, }, [sym_type_alias_declaration] = { .visible = true, .named = true, }, [sym_type_expression] = { .visible = true, .named = true, }, [sym__type_expression_inner] = { .visible = false, .named = true, }, [sym_type_ref] = { .visible = true, .named = true, }, [sym__single_type_expression] = { .visible = false, .named = true, }, [sym_type_ref_without_args] = { .visible = true, .named = true, }, [sym_type_variable] = { .visible = true, .named = true, }, [sym_record_type] = { .visible = true, .named = true, }, [sym_field_type] = { .visible = true, .named = true, }, [sym_tuple_type] = { .visible = true, .named = true, }, [sym_type_annotation] = { .visible = true, .named = true, }, [sym_port_annotation] = { .visible = true, .named = true, }, [sym__expression] = { .visible = false, .named = true, }, [sym_bin_op_expr] = { .visible = true, .named = true, }, [sym_operator] = { .visible = true, .named = true, }, [sym_operator_as_function_expr] = { .visible = true, .named = true, }, [sym__operator_as_function_inner] = { .visible = false, .named = true, }, [sym__call_or_atom] = { .visible = false, .named = true, }, [sym_function_call_expr] = { .visible = true, .named = true, }, [sym__function_call_target] = { .visible = false, .named = true, }, [sym__atom] = { .visible = false, .named = true, }, [sym_field_access_expr] = { .visible = true, .named = true, }, [sym__field_access_start] = { .visible = false, .named = true, }, [sym__field_access_segment] = { .visible = false, .named = true, }, [sym_negate_expr] = { .visible = true, .named = true, }, [sym_parenthesized_expr] = { .visible = true, .named = true, }, [sym__literal_expr_group] = { .visible = false, .named = true, }, [sym_char_constant_expr] = { .visible = true, .named = true, }, [sym_number_constant_expr] = { .visible = true, .named = true, }, [sym_string_constant_expr] = { .visible = true, .named = true, }, [sym_anonymous_function_expr] = { .visible = true, .named = true, }, [sym_value_expr] = { .visible = true, .named = true, }, [sym_tuple_expr] = { .visible = true, .named = true, }, [sym_unit_expr] = { .visible = true, .named = true, }, [sym_list_expr] = { .visible = true, .named = true, }, [sym_record_expr] = { .visible = true, .named = true, }, [sym_record_base_identifier] = { .visible = true, .named = true, }, [sym__record_base] = { .visible = false, .named = true, }, [sym__record_inner] = { .visible = false, .named = true, }, [sym_field] = { .visible = true, .named = true, }, [sym_if_else_expr] = { .visible = true, .named = true, }, [sym__if] = { .visible = false, .named = true, }, [sym__then] = { .visible = false, .named = true, }, [sym__else] = { .visible = false, .named = true, }, [sym_case_of_expr] = { .visible = true, .named = true, }, [sym__more_case_of_branches] = { .visible = false, .named = true, }, [sym_case_of_branch] = { .visible = true, .named = true, }, [sym_let_in_expr] = { .visible = true, .named = true, }, [sym__inner_declaration] = { .visible = false, .named = true, }, [sym_pattern] = { .visible = true, .named = true, }, [sym_cons_pattern] = { .visible = true, .named = true, }, [sym__single_pattern_cons] = { .visible = false, .named = true, }, [sym__single_pattern] = { .visible = false, .named = true, }, [sym_lower_pattern] = { .visible = true, .named = true, }, [sym_anything_pattern] = { .visible = true, .named = true, }, [sym_record_pattern] = { .visible = true, .named = true, }, [sym_list_pattern] = { .visible = true, .named = true, }, [sym_union_pattern] = { .visible = true, .named = true, }, [sym_nullary_constructor_argument_pattern] = { .visible = true, .named = true, }, [sym__union_argument_pattern] = { .visible = false, .named = true, }, [sym_tuple_pattern] = { .visible = true, .named = true, }, [sym__parenthesized_pattern] = { .visible = false, .named = true, }, [sym_infix_declaration] = { .visible = true, .named = true, }, [sym_glsl_code_expr] = { .visible = true, .named = true, }, [sym_operator_identifier] = { .visible = true, .named = true, }, [aux_sym_exposing_list_repeat1] = { .visible = false, .named = false, }, [aux_sym_upper_case_qid_repeat1] = { .visible = false, .named = false, }, [aux_sym_value_qid_repeat1] = { .visible = false, .named = false, }, [aux_sym_function_declaration_left_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_declaration_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_declaration_repeat2] = { .visible = false, .named = false, }, [aux_sym_union_variant_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_expression_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_ref_repeat1] = { .visible = false, .named = false, }, [aux_sym_record_type_repeat1] = { .visible = false, .named = false, }, [aux_sym_tuple_type_repeat1] = { .visible = false, .named = false, }, [aux_sym_bin_op_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_function_call_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_field_access_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_string_constant_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_string_constant_expr_repeat2] = { .visible = false, .named = false, }, [aux_sym_anonymous_function_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_tuple_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_list_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym__record_inner_repeat1] = { .visible = false, .named = false, }, [aux_sym_if_else_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym__more_case_of_branches_repeat1] = { .visible = false, .named = false, }, [aux_sym_let_in_expr_repeat1] = { .visible = false, .named = false, }, [aux_sym_record_pattern_repeat1] = { .visible = false, .named = false, }, [aux_sym_list_pattern_repeat1] = { .visible = false, .named = false, }, [aux_sym_union_pattern_repeat1] = { .visible = false, .named = false, }, [aux_sym_tuple_pattern_repeat1] = { .visible = false, .named = false, }, [alias_sym_close_char] = { .visible = true, .named = true, }, [alias_sym_close_quote] = { .visible = true, .named = true, }, }; enum { field_arg = 1, field_argPattern = 2, field_asClause = 3, field_associativity = 4, field_baseRecord = 5, field_body = 6, field_branch = 7, field_child = 8, field_constructor = 9, field_content = 10, field_doubleDot = 11, field_exposing = 12, field_expr = 13, field_exprList = 14, field_expression = 15, field_field = 16, field_fieldType = 17, field_functionDeclarationLeft = 18, field_moduleDeclaration = 19, field_moduleName = 20, field_name = 21, field_operator = 22, field_param = 23, field_part = 24, field_pattern = 25, field_patternAs = 26, field_patternList = 27, field_precedence = 28, field_target = 29, field_typeExpression = 30, field_typeName = 31, field_typeVariable = 32, field_unionVariant = 33, field_unitExpr = 34, field_valueDeclaration = 35, }; static const char * const ts_field_names[] = { [0] = NULL, [field_arg] = "arg", [field_argPattern] = "argPattern", [field_asClause] = "asClause", [field_associativity] = "associativity", [field_baseRecord] = "baseRecord", [field_body] = "body", [field_branch] = "branch", [field_child] = "child", [field_constructor] = "constructor", [field_content] = "content", [field_doubleDot] = "doubleDot", [field_exposing] = "exposing", [field_expr] = "expr", [field_exprList] = "exprList", [field_expression] = "expression", [field_field] = "field", [field_fieldType] = "fieldType", [field_functionDeclarationLeft] = "functionDeclarationLeft", [field_moduleDeclaration] = "moduleDeclaration", [field_moduleName] = "moduleName", [field_name] = "name", [field_operator] = "operator", [field_param] = "param", [field_part] = "part", [field_pattern] = "pattern", [field_patternAs] = "patternAs", [field_patternList] = "patternList", [field_precedence] = "precedence", [field_target] = "target", [field_typeExpression] = "typeExpression", [field_typeName] = "typeName", [field_typeVariable] = "typeVariable", [field_unionVariant] = "unionVariant", [field_unitExpr] = "unitExpr", [field_valueDeclaration] = "valueDeclaration", }; static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, [2] = {.index = 1, .length = 1}, [3] = {.index = 2, .length = 1}, [5] = {.index = 3, .length = 1}, [6] = {.index = 4, .length = 1}, [7] = {.index = 5, .length = 1}, [8] = {.index = 6, .length = 2}, [9] = {.index = 8, .length = 1}, [10] = {.index = 9, .length = 1}, [13] = {.index = 10, .length = 1}, [14] = {.index = 11, .length = 2}, [15] = {.index = 13, .length = 1}, [16] = {.index = 14, .length = 1}, [17] = {.index = 15, .length = 1}, [18] = {.index = 16, .length = 2}, [19] = {.index = 18, .length = 2}, [20] = {.index = 20, .length = 2}, [21] = {.index = 22, .length = 1}, [22] = {.index = 23, .length = 2}, [23] = {.index = 25, .length = 1}, [24] = {.index = 26, .length = 2}, [25] = {.index = 28, .length = 2}, [26] = {.index = 30, .length = 2}, [27] = {.index = 32, .length = 2}, [28] = {.index = 34, .length = 2}, [29] = {.index = 36, .length = 2}, [30] = {.index = 38, .length = 2}, [31] = {.index = 40, .length = 2}, [32] = {.index = 42, .length = 1}, [33] = {.index = 43, .length = 1}, [34] = {.index = 44, .length = 3}, [35] = {.index = 47, .length = 2}, [36] = {.index = 49, .length = 2}, [37] = {.index = 51, .length = 2}, [38] = {.index = 53, .length = 1}, [39] = {.index = 54, .length = 1}, [40] = {.index = 55, .length = 2}, [41] = {.index = 57, .length = 2}, [42] = {.index = 59, .length = 1}, [43] = {.index = 60, .length = 2}, [44] = {.index = 62, .length = 1}, [45] = {.index = 63, .length = 1}, [46] = {.index = 64, .length = 2}, [47] = {.index = 66, .length = 1}, [48] = {.index = 67, .length = 3}, [49] = {.index = 70, .length = 3}, [50] = {.index = 73, .length = 2}, [51] = {.index = 75, .length = 1}, [52] = {.index = 76, .length = 1}, [53] = {.index = 77, .length = 2}, [54] = {.index = 79, .length = 2}, [55] = {.index = 81, .length = 2}, [56] = {.index = 83, .length = 1}, [57] = {.index = 84, .length = 1}, [58] = {.index = 85, .length = 3}, [59] = {.index = 88, .length = 3}, [60] = {.index = 91, .length = 2}, [61] = {.index = 93, .length = 1}, [62] = {.index = 94, .length = 2}, [63] = {.index = 96, .length = 2}, [64] = {.index = 98, .length = 2}, [65] = {.index = 100, .length = 2}, [66] = {.index = 102, .length = 2}, [67] = {.index = 104, .length = 1}, [68] = {.index = 105, .length = 2}, [69] = {.index = 107, .length = 1}, [70] = {.index = 108, .length = 2}, [71] = {.index = 110, .length = 4}, [72] = {.index = 114, .length = 3}, [73] = {.index = 117, .length = 3}, [74] = {.index = 120, .length = 1}, [75] = {.index = 121, .length = 2}, [76] = {.index = 123, .length = 2}, [77] = {.index = 125, .length = 2}, [78] = {.index = 127, .length = 3}, [79] = {.index = 130, .length = 1}, [80] = {.index = 131, .length = 2}, [81] = {.index = 133, .length = 2}, [82] = {.index = 135, .length = 2}, [83] = {.index = 137, .length = 2}, [84] = {.index = 139, .length = 4}, [85] = {.index = 143, .length = 3}, [86] = {.index = 146, .length = 1}, [87] = {.index = 147, .length = 2}, [88] = {.index = 149, .length = 2}, [89] = {.index = 151, .length = 2}, [90] = {.index = 153, .length = 2}, [91] = {.index = 155, .length = 1}, [92] = {.index = 156, .length = 2}, [93] = {.index = 158, .length = 3}, [94] = {.index = 161, .length = 1}, [95] = {.index = 162, .length = 3}, [96] = {.index = 165, .length = 2}, [97] = {.index = 167, .length = 2}, [98] = {.index = 169, .length = 3}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_constructor, 0}, [1] = {field_child, 0}, [2] = {field_child, 0, .inherited = true}, [3] = {field_pattern, 1}, [4] = {field_moduleName, 1}, [5] = {field_moduleDeclaration, 0}, [6] = {field_argPattern, 1}, {field_constructor, 0}, [8] = {field_child, 1}, [9] = {field_patternList, 1}, [10] = {field_part, 1}, [11] = {field_name, 0}, {field_typeExpression, 2}, [13] = {field_part, 0, .inherited = true}, [14] = {field_part, 0}, [15] = {field_unitExpr, 0}, [16] = {field_exposing, 2}, {field_name, 1}, [18] = {field_exposing, 2}, {field_moduleName, 1}, [20] = {field_asClause, 2}, {field_moduleName, 1}, [22] = {field_name, 0}, [23] = {field_body, 2}, {field_functionDeclarationLeft, 0}, [25] = {field_operator, 0, .inherited = true}, [26] = {field_body, 2}, {field_pattern, 0}, [28] = {field_child, 0}, {field_patternAs, 2}, [30] = {field_part, 0}, {field_part, 2}, [32] = {field_child, 0, .inherited = true}, {field_patternAs, 2}, [34] = {field_patternList, 1}, {field_patternList, 2, .inherited = true}, [36] = {field_patternList, 0, .inherited = true}, {field_patternList, 1, .inherited = true}, [38] = {field_part, 1}, {field_part, 2, .inherited = true}, [40] = {field_part, 0, .inherited = true}, {field_part, 1, .inherited = true}, [42] = {field_part, 1, .inherited = true}, [43] = {field_name, 1}, [44] = {field_asClause, 2}, {field_exposing, 3}, {field_moduleName, 1}, [47] = {field_name, 1}, {field_unionVariant, 3}, [49] = {field_name, 1}, {field_typeExpression, 3}, [51] = {field_exposing, 3}, {field_name, 2}, [53] = {field_field, 0}, [54] = {field_exprList, 1}, [55] = {field_part, 0}, {field_part, 1}, [57] = {field_arg, 1}, {field_target, 0}, [59] = {field_target, 0}, [60] = {field_pattern, 1}, {field_pattern, 3}, [62] = {field_fieldType, 1}, [63] = {field_baseRecord, 0}, [64] = {field_name, 0}, {field_part, 1, .inherited = true}, [66] = {field_unionVariant, 0, .inherited = true}, [67] = {field_name, 1}, {field_unionVariant, 3}, {field_unionVariant, 4, .inherited = true}, [70] = {field_name, 1}, {field_typeName, 2}, {field_unionVariant, 4}, [73] = {field_name, 2}, {field_typeExpression, 4}, [75] = {field_expression, 1}, [76] = {field_operator, 1}, [77] = {field_baseRecord, 0, .inherited = true}, {field_field, 1}, [79] = {field_baseRecord, 1, .inherited = true}, {field_field, 1, .inherited = true}, [81] = {field_field, 0}, {field_field, 1, .inherited = true}, [83] = {field_valueDeclaration, 0}, [84] = {field_content, 1}, [85] = {field_exprList, 0, .inherited = true}, {field_exprList, 1, .inherited = true}, {field_exprList, 2, .inherited = true}, [88] = {field_pattern, 1}, {field_pattern, 3}, {field_pattern, 4, .inherited = true}, [91] = {field_pattern, 0, .inherited = true}, {field_pattern, 1, .inherited = true}, [93] = {field_typeExpression, 1}, [94] = {field_typeExpression, 1}, {field_typeExpression, 2, .inherited = true}, [96] = {field_typeExpression, 0, .inherited = true}, {field_typeExpression, 1, .inherited = true}, [98] = {field_fieldType, 1}, {field_fieldType, 2, .inherited = true}, [100] = {field_fieldType, 0, .inherited = true}, {field_fieldType, 1, .inherited = true}, [102] = {field_baseRecord, 1, .inherited = true}, {field_fieldType, 2}, [104] = {field_doubleDot, 2}, [105] = {field_exposing, 5}, {field_name, 2}, [107] = {field_unionVariant, 1}, [108] = {field_unionVariant, 0, .inherited = true}, {field_unionVariant, 1, .inherited = true}, [110] = {field_name, 1}, {field_typeName, 2}, {field_unionVariant, 4}, {field_unionVariant, 5, .inherited = true}, [114] = {field_name, 2}, {field_typeExpression, 5}, {field_typeVariable, 3}, [117] = {field_associativity, 1}, {field_operator, 3, .inherited = true}, {field_precedence, 2}, [120] = {field_expr, 1}, [121] = {field_expr, 1}, {field_expr, 2, .inherited = true}, [123] = {field_expr, 0, .inherited = true}, {field_expr, 1, .inherited = true}, [125] = {field_expression, 2}, {field_name, 0}, [127] = {field_baseRecord, 0, .inherited = true}, {field_field, 1}, {field_field, 2, .inherited = true}, [130] = {field_field, 1}, [131] = {field_field, 0, .inherited = true}, {field_field, 1, .inherited = true}, [133] = {field_exprList, 1}, {field_exprList, 2, .inherited = true}, [135] = {field_exprList, 0, .inherited = true}, {field_exprList, 1, .inherited = true}, [137] = {field_expr, 3}, {field_param, 1}, [139] = {field_exprList, 0, .inherited = true}, {field_exprList, 1, .inherited = true}, {field_exprList, 2, .inherited = true}, {field_exprList, 3, .inherited = true}, [143] = {field_baseRecord, 1, .inherited = true}, {field_fieldType, 2}, {field_fieldType, 3, .inherited = true}, [146] = {field_valueDeclaration, 1, .inherited = true}, [147] = {field_valueDeclaration, 0, .inherited = true}, {field_valueDeclaration, 1, .inherited = true}, [149] = {field_exprList, 1, .inherited = true}, {field_exprList, 2, .inherited = true}, [151] = {field_body, 5}, {field_valueDeclaration, 2, .inherited = true}, [153] = {field_branch, 4}, {field_expr, 1}, [155] = {field_branch, 0, .inherited = true}, [156] = {field_branch, 5}, {field_expr, 2}, [158] = {field_body, 6}, {field_valueDeclaration, 2, .inherited = true}, {field_valueDeclaration, 3, .inherited = true}, [161] = {field_branch, 1}, [162] = {field_branch, 4}, {field_branch, 5, .inherited = true}, {field_expr, 1}, [165] = {field_branch, 0, .inherited = true}, {field_branch, 1, .inherited = true}, [167] = {field_expr, 2}, {field_pattern, 0}, [169] = {field_branch, 5}, {field_branch, 6, .inherited = true}, {field_expr, 2}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [4] = { [1] = alias_sym_close_quote, }, [11] = { [2] = alias_sym_close_char, }, [12] = { [2] = alias_sym_close_quote, }, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 3, [5] = 5, [6] = 5, [7] = 5, [8] = 5, [9] = 5, [10] = 5, [11] = 5, [12] = 5, [13] = 5, [14] = 2, [15] = 3, [16] = 3, [17] = 3, [18] = 3, [19] = 2, [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] = 39, [40] = 39, [41] = 41, [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] = 53, [56] = 56, [57] = 57, [58] = 46, [59] = 59, [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, [65] = 65, [66] = 66, [67] = 46, [68] = 68, [69] = 46, [70] = 70, [71] = 71, [72] = 72, [73] = 46, [74] = 46, [75] = 75, [76] = 76, [77] = 77, [78] = 78, [79] = 79, [80] = 80, [81] = 81, [82] = 82, [83] = 83, [84] = 82, [85] = 20, [86] = 86, [87] = 24, [88] = 88, [89] = 23, [90] = 90, [91] = 91, [92] = 92, [93] = 93, [94] = 94, [95] = 82, [96] = 82, [97] = 97, [98] = 92, [99] = 91, [100] = 90, [101] = 83, [102] = 97, [103] = 83, [104] = 82, [105] = 90, [106] = 97, [107] = 91, [108] = 108, [109] = 109, [110] = 83, [111] = 92, [112] = 91, [113] = 91, [114] = 90, [115] = 90, [116] = 22, [117] = 117, [118] = 82, [119] = 97, [120] = 21, [121] = 93, [122] = 92, [123] = 94, [124] = 83, [125] = 97, [126] = 90, [127] = 91, [128] = 92, [129] = 129, [130] = 83, [131] = 97, [132] = 92, [133] = 26, [134] = 25, [135] = 27, [136] = 41, [137] = 137, [138] = 137, [139] = 34, [140] = 30, [141] = 38, [142] = 31, [143] = 23, [144] = 33, [145] = 20, [146] = 39, [147] = 22, [148] = 137, [149] = 29, [150] = 28, [151] = 24, [152] = 21, [153] = 35, [154] = 137, [155] = 137, [156] = 32, [157] = 36, [158] = 39, [159] = 137, [160] = 37, [161] = 63, [162] = 75, [163] = 72, [164] = 53, [165] = 71, [166] = 78, [167] = 77, [168] = 62, [169] = 76, [170] = 66, [171] = 79, [172] = 44, [173] = 61, [174] = 60, [175] = 45, [176] = 42, [177] = 64, [178] = 48, [179] = 26, [180] = 56, [181] = 50, [182] = 51, [183] = 68, [184] = 65, [185] = 25, [186] = 57, [187] = 52, [188] = 27, [189] = 80, [190] = 43, [191] = 54, [192] = 81, [193] = 59, [194] = 70, [195] = 53, [196] = 49, [197] = 47, [198] = 198, [199] = 198, [200] = 39, [201] = 201, [202] = 36, [203] = 34, [204] = 30, [205] = 198, [206] = 31, [207] = 35, [208] = 198, [209] = 41, [210] = 32, [211] = 33, [212] = 28, [213] = 38, [214] = 198, [215] = 198, [216] = 216, [217] = 217, [218] = 39, [219] = 37, [220] = 29, [221] = 80, [222] = 76, [223] = 45, [224] = 224, [225] = 63, [226] = 81, [227] = 47, [228] = 54, [229] = 53, [230] = 60, [231] = 62, [232] = 59, [233] = 57, [234] = 53, [235] = 52, [236] = 224, [237] = 56, [238] = 51, [239] = 64, [240] = 224, [241] = 65, [242] = 50, [243] = 61, [244] = 224, [245] = 71, [246] = 48, [247] = 42, [248] = 44, [249] = 70, [250] = 66, [251] = 49, [252] = 224, [253] = 224, [254] = 72, [255] = 77, [256] = 78, [257] = 79, [258] = 43, [259] = 68, [260] = 75, [261] = 261, [262] = 262, [263] = 263, [264] = 264, [265] = 265, [266] = 26, [267] = 26, [268] = 25, [269] = 22, [270] = 24, [271] = 25, [272] = 20, [273] = 23, [274] = 21, [275] = 41, [276] = 28, [277] = 27, [278] = 35, [279] = 28, [280] = 26, [281] = 25, [282] = 28, [283] = 283, [284] = 38, [285] = 33, [286] = 31, [287] = 37, [288] = 288, [289] = 30, [290] = 34, [291] = 36, [292] = 29, [293] = 293, [294] = 32, [295] = 49, [296] = 54, [297] = 297, [298] = 52, [299] = 77, [300] = 300, [301] = 76, [302] = 56, [303] = 300, [304] = 66, [305] = 44, [306] = 45, [307] = 60, [308] = 300, [309] = 300, [310] = 300, [311] = 42, [312] = 48, [313] = 57, [314] = 64, [315] = 50, [316] = 68, [317] = 61, [318] = 51, [319] = 62, [320] = 59, [321] = 79, [322] = 78, [323] = 63, [324] = 81, [325] = 43, [326] = 47, [327] = 80, [328] = 300, [329] = 75, [330] = 65, [331] = 70, [332] = 54, [333] = 72, [334] = 54, [335] = 23, [336] = 22, [337] = 24, [338] = 21, [339] = 20, [340] = 340, [341] = 340, [342] = 342, [343] = 340, [344] = 340, [345] = 340, [346] = 340, [347] = 27, [348] = 348, [349] = 349, [350] = 350, [351] = 351, [352] = 23, [353] = 30, [354] = 348, [355] = 35, [356] = 34, [357] = 349, [358] = 350, [359] = 348, [360] = 349, [361] = 361, [362] = 31, [363] = 33, [364] = 364, [365] = 38, [366] = 350, [367] = 348, [368] = 283, [369] = 37, [370] = 348, [371] = 349, [372] = 21, [373] = 288, [374] = 349, [375] = 36, [376] = 22, [377] = 350, [378] = 350, [379] = 20, [380] = 24, [381] = 350, [382] = 349, [383] = 383, [384] = 41, [385] = 32, [386] = 29, [387] = 348, [388] = 47, [389] = 63, [390] = 79, [391] = 51, [392] = 43, [393] = 45, [394] = 68, [395] = 80, [396] = 59, [397] = 42, [398] = 48, [399] = 75, [400] = 27, [401] = 78, [402] = 72, [403] = 403, [404] = 60, [405] = 50, [406] = 52, [407] = 70, [408] = 81, [409] = 65, [410] = 64, [411] = 77, [412] = 61, [413] = 62, [414] = 414, [415] = 56, [416] = 49, [417] = 57, [418] = 418, [419] = 44, [420] = 66, [421] = 76, [422] = 38, [423] = 32, [424] = 424, [425] = 36, [426] = 424, [427] = 34, [428] = 30, [429] = 424, [430] = 31, [431] = 424, [432] = 432, [433] = 432, [434] = 35, [435] = 432, [436] = 33, [437] = 41, [438] = 432, [439] = 424, [440] = 37, [441] = 432, [442] = 424, [443] = 29, [444] = 432, [445] = 56, [446] = 63, [447] = 51, [448] = 78, [449] = 79, [450] = 43, [451] = 45, [452] = 80, [453] = 75, [454] = 72, [455] = 47, [456] = 70, [457] = 65, [458] = 64, [459] = 62, [460] = 61, [461] = 48, [462] = 60, [463] = 463, [464] = 59, [465] = 465, [466] = 77, [467] = 57, [468] = 76, [469] = 49, [470] = 66, [471] = 42, [472] = 50, [473] = 465, [474] = 44, [475] = 463, [476] = 68, [477] = 52, [478] = 478, [479] = 81, [480] = 480, [481] = 481, [482] = 25, [483] = 483, [484] = 26, [485] = 28, [486] = 486, [487] = 54, [488] = 488, [489] = 489, [490] = 490, [491] = 491, [492] = 492, [493] = 493, [494] = 61, [495] = 495, [496] = 496, [497] = 497, [498] = 60, [499] = 62, [500] = 59, [501] = 501, [502] = 63, [503] = 503, [504] = 504, [505] = 505, [506] = 506, [507] = 507, [508] = 508, [509] = 509, [510] = 510, [511] = 511, [512] = 512, [513] = 513, [514] = 514, [515] = 515, [516] = 516, [517] = 517, [518] = 517, [519] = 517, [520] = 512, [521] = 521, [522] = 515, [523] = 517, [524] = 524, [525] = 525, [526] = 516, [527] = 527, [528] = 528, [529] = 516, [530] = 530, [531] = 531, [532] = 532, [533] = 528, [534] = 512, [535] = 535, [536] = 536, [537] = 515, [538] = 538, [539] = 539, [540] = 540, [541] = 541, [542] = 542, [543] = 542, [544] = 542, [545] = 545, [546] = 546, [547] = 481, [548] = 481, [549] = 481, [550] = 550, [551] = 551, [552] = 552, [553] = 553, [554] = 554, [555] = 555, [556] = 556, [557] = 25, [558] = 558, [559] = 559, [560] = 560, [561] = 561, [562] = 562, [563] = 26, [564] = 564, [565] = 554, [566] = 559, [567] = 556, [568] = 551, [569] = 569, [570] = 561, [571] = 562, [572] = 541, [573] = 558, [574] = 564, [575] = 28, [576] = 553, [577] = 552, [578] = 560, [579] = 555, [580] = 551, [581] = 562, [582] = 54, [583] = 583, [584] = 584, [585] = 553, [586] = 564, [587] = 553, [588] = 588, [589] = 552, [590] = 555, [591] = 560, [592] = 588, [593] = 554, [594] = 561, [595] = 558, [596] = 562, [597] = 561, [598] = 559, [599] = 588, [600] = 588, [601] = 556, [602] = 588, [603] = 560, [604] = 559, [605] = 558, [606] = 554, [607] = 588, [608] = 551, [609] = 552, [610] = 555, [611] = 556, [612] = 612, [613] = 613, [614] = 613, [615] = 615, [616] = 616, [617] = 617, [618] = 618, [619] = 615, [620] = 620, [621] = 621, [622] = 612, [623] = 623, [624] = 624, [625] = 624, [626] = 626, [627] = 612, [628] = 628, [629] = 612, [630] = 613, [631] = 616, [632] = 616, [633] = 615, [634] = 613, [635] = 612, [636] = 620, [637] = 615, [638] = 620, [639] = 620, [640] = 640, [641] = 615, [642] = 616, [643] = 616, [644] = 613, [645] = 624, [646] = 624, [647] = 612, [648] = 613, [649] = 616, [650] = 615, [651] = 620, [652] = 615, [653] = 616, [654] = 620, [655] = 612, [656] = 613, [657] = 657, [658] = 657, [659] = 659, [660] = 657, [661] = 661, [662] = 662, [663] = 657, [664] = 664, [665] = 665, [666] = 657, [667] = 667, [668] = 668, [669] = 669, [670] = 670, [671] = 671, [672] = 672, [673] = 673, [674] = 674, [675] = 657, [676] = 676, [677] = 677, [678] = 678, [679] = 679, [680] = 680, [681] = 628, [682] = 623, [683] = 621, [684] = 684, [685] = 685, [686] = 686, [687] = 674, [688] = 673, [689] = 689, [690] = 690, [691] = 691, [692] = 692, [693] = 693, [694] = 685, [695] = 695, [696] = 696, [697] = 697, [698] = 698, [699] = 689, [700] = 700, [701] = 701, [702] = 685, [703] = 703, [704] = 704, [705] = 705, [706] = 706, [707] = 707, [708] = 708, [709] = 709, [710] = 710, [711] = 698, [712] = 712, [713] = 703, [714] = 714, [715] = 628, [716] = 690, [717] = 717, [718] = 718, [719] = 719, [720] = 689, [721] = 621, [722] = 722, [723] = 723, [724] = 690, [725] = 725, [726] = 726, [727] = 684, [728] = 728, [729] = 700, [730] = 714, [731] = 693, [732] = 704, [733] = 712, [734] = 703, [735] = 693, [736] = 705, [737] = 737, [738] = 708, [739] = 690, [740] = 705, [741] = 708, [742] = 690, [743] = 714, [744] = 691, [745] = 745, [746] = 746, [747] = 708, [748] = 748, [749] = 712, [750] = 705, [751] = 703, [752] = 704, [753] = 685, [754] = 696, [755] = 690, [756] = 700, [757] = 698, [758] = 725, [759] = 723, [760] = 698, [761] = 696, [762] = 685, [763] = 723, [764] = 696, [765] = 689, [766] = 691, [767] = 725, [768] = 684, [769] = 700, [770] = 703, [771] = 693, [772] = 712, [773] = 704, [774] = 774, [775] = 704, [776] = 700, [777] = 705, [778] = 698, [779] = 623, [780] = 696, [781] = 679, [782] = 689, [783] = 746, [784] = 708, [785] = 785, [786] = 746, [787] = 712, [788] = 788, [789] = 745, [790] = 703, [791] = 791, [792] = 745, [793] = 714, [794] = 794, [795] = 708, [796] = 714, [797] = 745, [798] = 746, [799] = 708, [800] = 705, [801] = 690, [802] = 704, [803] = 708, [804] = 708, [805] = 700, [806] = 684, [807] = 725, [808] = 723, [809] = 698, [810] = 696, [811] = 685, [812] = 691, [813] = 813, [814] = 814, [815] = 712, [816] = 693, [817] = 714, [818] = 818, [819] = 689, [820] = 693, [821] = 821, [822] = 822, [823] = 823, [824] = 824, [825] = 825, [826] = 826, [827] = 827, [828] = 824, [829] = 829, [830] = 830, [831] = 831, [832] = 832, [833] = 833, [834] = 834, [835] = 835, [836] = 836, [837] = 837, [838] = 838, [839] = 839, [840] = 840, [841] = 841, [842] = 842, [843] = 843, [844] = 826, [845] = 829, [846] = 846, [847] = 847, [848] = 848, [849] = 849, [850] = 825, [851] = 851, [852] = 852, [853] = 824, [854] = 854, [855] = 829, [856] = 856, [857] = 857, [858] = 858, [859] = 859, [860] = 860, [861] = 861, [862] = 826, [863] = 825, [864] = 829, [865] = 865, [866] = 826, [867] = 825, [868] = 868, [869] = 829, [870] = 870, [871] = 824, [872] = 872, [873] = 873, [874] = 874, [875] = 875, [876] = 876, [877] = 679, [878] = 674, [879] = 673, [880] = 824, [881] = 881, [882] = 826, [883] = 883, [884] = 884, [885] = 885, [886] = 886, [887] = 887, [888] = 888, [889] = 889, [890] = 890, [891] = 891, [892] = 829, [893] = 893, [894] = 894, [895] = 895, [896] = 896, [897] = 897, [898] = 898, [899] = 899, [900] = 824, [901] = 901, [902] = 826, [903] = 903, [904] = 904, [905] = 905, [906] = 906, [907] = 907, [908] = 885, [909] = 909, [910] = 903, [911] = 911, [912] = 912, [913] = 913, [914] = 914, [915] = 914, [916] = 916, [917] = 917, [918] = 911, [919] = 919, [920] = 920, [921] = 921, [922] = 907, [923] = 923, [924] = 909, [925] = 912, [926] = 926, [927] = 913, [928] = 905, [929] = 906, [930] = 930, [931] = 903, [932] = 903, [933] = 906, [934] = 913, [935] = 912, [936] = 907, [937] = 911, [938] = 914, [939] = 909, [940] = 940, [941] = 941, [942] = 942, [943] = 943, [944] = 870, [945] = 914, [946] = 909, [947] = 905, [948] = 911, [949] = 930, [950] = 911, [951] = 903, [952] = 898, [953] = 953, [954] = 954, [955] = 955, [956] = 956, [957] = 906, [958] = 943, [959] = 959, [960] = 913, [961] = 912, [962] = 907, [963] = 963, [964] = 907, [965] = 930, [966] = 911, [967] = 914, [968] = 968, [969] = 969, [970] = 905, [971] = 909, [972] = 905, [973] = 930, [974] = 943, [975] = 911, [976] = 903, [977] = 977, [978] = 930, [979] = 906, [980] = 913, [981] = 912, [982] = 982, [983] = 510, [984] = 943, [985] = 907, [986] = 912, [987] = 913, [988] = 988, [989] = 906, [990] = 911, [991] = 914, [992] = 992, [993] = 993, [994] = 943, [995] = 914, [996] = 996, [997] = 997, [998] = 998, [999] = 999, [1000] = 1000, [1001] = 1001, [1002] = 1002, [1003] = 943, [1004] = 1004, [1005] = 1005, [1006] = 1006, [1007] = 956, [1008] = 1008, [1009] = 955, [1010] = 954, [1011] = 1011, [1012] = 1001, [1013] = 1013, [1014] = 1014, [1015] = 1015, [1016] = 1001, [1017] = 1013, [1018] = 1018, [1019] = 1001, [1020] = 1013, [1021] = 1021, [1022] = 1001, [1023] = 1013, [1024] = 1001, [1025] = 1013, [1026] = 941, [1027] = 1027, [1028] = 992, [1029] = 999, [1030] = 941, [1031] = 992, [1032] = 999, [1033] = 941, [1034] = 992, [1035] = 999, [1036] = 941, [1037] = 992, [1038] = 999, [1039] = 992, [1040] = 999, [1041] = 941, [1042] = 1013, [1043] = 930, [1044] = 1044, [1045] = 1045, [1046] = 1046, [1047] = 1047, [1048] = 905, [1049] = 1049, [1050] = 909, [1051] = 1051, }; static inline bool sym__upper_case_identifier_without_leading_whitespace_character_set_1(int32_t c) { return (c < 7734 ? (c < 913 ? (c < 422 ? (c < 327 ? (c < 288 ? (c < 268 ? (c < 258 ? (c < 216 ? (c < 192 ? (c >= 'A' && c <= 'Z') : c <= 214) : (c <= 222 || c == 256)) : (c <= 258 || (c < 264 ? (c < 262 ? c == 260 : c <= 262) : (c <= 264 || c == 266)))) : (c <= 268 || (c < 278 ? (c < 274 ? (c < 272 ? c == 270 : c <= 272) : (c <= 274 || c == 276)) : (c <= 278 || (c < 284 ? (c < 282 ? c == 280 : c <= 282) : (c <= 284 || c == 286)))))) : (c <= 288 || (c < 308 ? (c < 298 ? (c < 294 ? (c < 292 ? c == 290 : c <= 292) : (c <= 294 || c == 296)) : (c <= 298 || (c < 304 ? (c < 302 ? c == 300 : c <= 302) : (c <= 304 || c == 306)))) : (c <= 308 || (c < 319 ? (c < 315 ? (c < 313 ? c == 310 : c <= 313) : (c <= 315 || c == 317)) : (c <= 319 || (c < 323 ? c == 321 : (c <= 323 || c == 325)))))))) : (c <= 327 || (c < 366 ? (c < 348 ? (c < 338 ? (c < 334 ? (c < 332 ? c == 330 : c <= 332) : (c <= 334 || c == 336)) : (c <= 338 || (c < 344 ? (c < 342 ? c == 340 : c <= 342) : (c <= 344 || c == 346)))) : (c <= 348 || (c < 358 ? (c < 354 ? (c < 352 ? c == 350 : c <= 352) : (c <= 354 || c == 356)) : (c <= 358 || (c < 362 ? c == 360 : (c <= 362 || c == 364)))))) : (c <= 366 || (c < 390 ? (c < 376 ? (c < 372 ? (c < 370 ? c == 368 : c <= 370) : (c <= 372 || c == 374)) : (c <= 377 || (c < 385 ? (c < 381 ? c == 379 : c <= 381) : (c <= 386 || c == 388)))) : (c <= 391 || (c < 412 ? (c < 403 ? (c < 398 ? (c >= 393 && c <= 395) : c <= 401) : (c <= 404 || (c >= 406 && c <= 408))) : (c <= 413 || (c < 418 ? (c >= 415 && c <= 416) : (c <= 418 || c == 420)))))))))) : (c <= 423 || (c < 520 ? (c < 478 ? (c < 458 ? (c < 437 ? (c < 430 ? (c < 428 ? c == 425 : c <= 428) : (c <= 431 || (c >= 433 && c <= 435))) : (c <= 437 || (c < 452 ? (c < 444 ? (c >= 439 && c <= 440) : c <= 444) : (c <= 452 || c == 455)))) : (c <= 458 || (c < 469 ? (c < 465 ? (c < 463 ? c == 461 : c <= 463) : (c <= 465 || c == 467)) : (c <= 469 || (c < 473 ? c == 471 : (c <= 473 || c == 475)))))) : (c <= 478 || (c < 500 ? (c < 488 ? (c < 484 ? (c < 482 ? c == 480 : c <= 482) : (c <= 484 || c == 486)) : (c <= 488 || (c < 494 ? (c < 492 ? c == 490 : c <= 492) : (c <= 494 || c == 497)))) : (c <= 500 || (c < 512 ? (c < 508 ? (c < 506 ? (c >= 502 && c <= 504) : c <= 506) : (c <= 508 || c == 510)) : (c <= 512 || (c < 516 ? c == 514 : (c <= 516 || c == 518)))))))) : (c <= 520 || (c < 558 ? (c < 540 ? (c < 530 ? (c < 526 ? (c < 524 ? c == 522 : c <= 524) : (c <= 526 || c == 528)) : (c <= 530 || (c < 536 ? (c < 534 ? c == 532 : c <= 534) : (c <= 536 || c == 538)))) : (c <= 540 || (c < 550 ? (c < 546 ? (c < 544 ? c == 542 : c <= 544) : (c <= 546 || c == 548)) : (c <= 550 || (c < 554 ? c == 552 : (c <= 554 || c == 556)))))) : (c <= 558 || (c < 590 ? (c < 577 ? (c < 570 ? (c < 562 ? c == 560 : c <= 562) : (c <= 571 || (c >= 573 && c <= 574))) : (c <= 577 || (c < 586 ? (c < 584 ? (c >= 579 && c <= 582) : c <= 584) : (c <= 586 || c == 588)))) : (c <= 590 || (c < 902 ? (c < 886 ? (c < 882 ? c == 880 : c <= 882) : (c <= 886 || c == 895)) : (c <= 902 || (c < 908 ? (c >= 904 && c <= 906) : (c <= 908 || (c >= 910 && c <= 911))))))))))))) : (c <= 929 || (c < 1244 ? (c < 1166 ? (c < 1120 ? (c < 996 ? (c < 986 ? (c < 978 ? (c < 975 ? (c >= 931 && c <= 939) : c <= 975) : (c <= 980 || c == 984)) : (c <= 986 || (c < 992 ? (c < 990 ? c == 988 : c <= 990) : (c <= 992 || c == 994)))) : (c <= 996 || (c < 1006 ? (c < 1002 ? (c < 1000 ? c == 998 : c <= 1000) : (c <= 1002 || c == 1004)) : (c <= 1006 || (c < 1017 ? (c < 1015 ? c == 1012 : c <= 1015) : (c <= 1018 || (c >= 1021 && c <= 1071))))))) : (c <= 1120 || (c < 1140 ? (c < 1130 ? (c < 1126 ? (c < 1124 ? c == 1122 : c <= 1124) : (c <= 1126 || c == 1128)) : (c <= 1130 || (c < 1136 ? (c < 1134 ? c == 1132 : c <= 1134) : (c <= 1136 || c == 1138)))) : (c <= 1140 || (c < 1150 ? (c < 1146 ? (c < 1144 ? c == 1142 : c <= 1144) : (c <= 1146 || c == 1148)) : (c <= 1150 || (c < 1162 ? c == 1152 : (c <= 1162 || c == 1164)))))))) : (c <= 1166 || (c < 1204 ? (c < 1186 ? (c < 1176 ? (c < 1172 ? (c < 1170 ? c == 1168 : c <= 1170) : (c <= 1172 || c == 1174)) : (c <= 1176 || (c < 1182 ? (c < 1180 ? c == 1178 : c <= 1180) : (c <= 1182 || c == 1184)))) : (c <= 1186 || (c < 1196 ? (c < 1192 ? (c < 1190 ? c == 1188 : c <= 1190) : (c <= 1192 || c == 1194)) : (c <= 1196 || (c < 1200 ? c == 1198 : (c <= 1200 || c == 1202)))))) : (c <= 1204 || (c < 1225 ? (c < 1214 ? (c < 1210 ? (c < 1208 ? c == 1206 : c <= 1208) : (c <= 1210 || c == 1212)) : (c <= 1214 || (c < 1221 ? (c < 1219 ? (c >= 1216 && c <= 1217) : c <= 1219) : (c <= 1221 || c == 1223)))) : (c <= 1225 || (c < 1236 ? (c < 1232 ? (c < 1229 ? c == 1227 : c <= 1229) : (c <= 1232 || c == 1234)) : (c <= 1236 || (c < 1240 ? c == 1238 : (c <= 1240 || c == 1242)))))))))) : (c <= 1244 || (c < 1320 ? (c < 1282 ? (c < 1264 ? (c < 1254 ? (c < 1250 ? (c < 1248 ? c == 1246 : c <= 1248) : (c <= 1250 || c == 1252)) : (c <= 1254 || (c < 1260 ? (c < 1258 ? c == 1256 : c <= 1258) : (c <= 1260 || c == 1262)))) : (c <= 1264 || (c < 1274 ? (c < 1270 ? (c < 1268 ? c == 1266 : c <= 1268) : (c <= 1270 || c == 1272)) : (c <= 1274 || (c < 1278 ? c == 1276 : (c <= 1278 || c == 1280)))))) : (c <= 1282 || (c < 1302 ? (c < 1292 ? (c < 1288 ? (c < 1286 ? c == 1284 : c <= 1286) : (c <= 1288 || c == 1290)) : (c <= 1292 || (c < 1298 ? (c < 1296 ? c == 1294 : c <= 1296) : (c <= 1298 || c == 1300)))) : (c <= 1302 || (c < 1312 ? (c < 1308 ? (c < 1306 ? c == 1304 : c <= 1306) : (c <= 1308 || c == 1310)) : (c <= 1312 || (c < 1316 ? c == 1314 : (c <= 1316 || c == 1318)))))))) : (c <= 1320 || (c < 7696 ? (c < 7357 ? (c < 4256 ? (c < 1326 ? (c < 1324 ? c == 1322 : c <= 1324) : (c <= 1326 || (c >= 1329 && c <= 1366))) : (c <= 4293 || (c < 5024 ? (c < 4301 ? c == 4295 : c <= 4301) : (c <= 5109 || (c >= 7312 && c <= 7354))))) : (c <= 7359 || (c < 7688 ? (c < 7684 ? (c < 7682 ? c == 7680 : c <= 7682) : (c <= 7684 || c == 7686)) : (c <= 7688 || (c < 7692 ? c == 7690 : (c <= 7692 || c == 7694)))))) : (c <= 7696 || (c < 7716 ? (c < 7706 ? (c < 7702 ? (c < 7700 ? c == 7698 : c <= 7700) : (c <= 7702 || c == 7704)) : (c <= 7706 || (c < 7712 ? (c < 7710 ? c == 7708 : c <= 7710) : (c <= 7712 || c == 7714)))) : (c <= 7716 || (c < 7726 ? (c < 7722 ? (c < 7720 ? c == 7718 : c <= 7720) : (c <= 7722 || c == 7724)) : (c <= 7726 || (c < 7730 ? c == 7728 : (c <= 7730 || c == 7732)))))))))))))) : (c <= 7734 || (c < 11428 ? (c < 7896 ? (c < 7812 ? (c < 7774 ? (c < 7754 ? (c < 7744 ? (c < 7740 ? (c < 7738 ? c == 7736 : c <= 7738) : (c <= 7740 || c == 7742)) : (c <= 7744 || (c < 7750 ? (c < 7748 ? c == 7746 : c <= 7748) : (c <= 7750 || c == 7752)))) : (c <= 7754 || (c < 7764 ? (c < 7760 ? (c < 7758 ? c == 7756 : c <= 7758) : (c <= 7760 || c == 7762)) : (c <= 7764 || (c < 7770 ? (c < 7768 ? c == 7766 : c <= 7768) : (c <= 7770 || c == 7772)))))) : (c <= 7774 || (c < 7794 ? (c < 7784 ? (c < 7780 ? (c < 7778 ? c == 7776 : c <= 7778) : (c <= 7780 || c == 7782)) : (c <= 7784 || (c < 7790 ? (c < 7788 ? c == 7786 : c <= 7788) : (c <= 7790 || c == 7792)))) : (c <= 7794 || (c < 7804 ? (c < 7800 ? (c < 7798 ? c == 7796 : c <= 7798) : (c <= 7800 || c == 7802)) : (c <= 7804 || (c < 7808 ? c == 7806 : (c <= 7808 || c == 7810)))))))) : (c <= 7812 || (c < 7858 ? (c < 7840 ? (c < 7822 ? (c < 7818 ? (c < 7816 ? c == 7814 : c <= 7816) : (c <= 7818 || c == 7820)) : (c <= 7822 || (c < 7828 ? (c < 7826 ? c == 7824 : c <= 7826) : (c <= 7828 || c == 7838)))) : (c <= 7840 || (c < 7850 ? (c < 7846 ? (c < 7844 ? c == 7842 : c <= 7844) : (c <= 7846 || c == 7848)) : (c <= 7850 || (c < 7854 ? c == 7852 : (c <= 7854 || c == 7856)))))) : (c <= 7858 || (c < 7878 ? (c < 7868 ? (c < 7864 ? (c < 7862 ? c == 7860 : c <= 7862) : (c <= 7864 || c == 7866)) : (c <= 7868 || (c < 7874 ? (c < 7872 ? c == 7870 : c <= 7872) : (c <= 7874 || c == 7876)))) : (c <= 7878 || (c < 7888 ? (c < 7884 ? (c < 7882 ? c == 7880 : c <= 7882) : (c <= 7884 || c == 7886)) : (c <= 7888 || (c < 7892 ? c == 7890 : (c <= 7892 || c == 7894)))))))))) : (c <= 7896 || (c < 8464 ? (c < 7934 ? (c < 7916 ? (c < 7906 ? (c < 7902 ? (c < 7900 ? c == 7898 : c <= 7900) : (c <= 7902 || c == 7904)) : (c <= 7906 || (c < 7912 ? (c < 7910 ? c == 7908 : c <= 7910) : (c <= 7912 || c == 7914)))) : (c <= 7916 || (c < 7926 ? (c < 7922 ? (c < 7920 ? c == 7918 : c <= 7920) : (c <= 7922 || c == 7924)) : (c <= 7926 || (c < 7930 ? c == 7928 : (c <= 7930 || c == 7932)))))) : (c <= 7934 || (c < 8040 ? (c < 8008 ? (c < 7976 ? (c < 7960 ? (c >= 7944 && c <= 7951) : c <= 7965) : (c <= 7983 || (c >= 7992 && c <= 7999))) : (c <= 8013 || (c < 8029 ? (c < 8027 ? c == 8025 : c <= 8027) : (c <= 8029 || c == 8031)))) : (c <= 8047 || (c < 8184 ? (c < 8152 ? (c < 8136 ? (c >= 8120 && c <= 8123) : c <= 8139) : (c <= 8155 || (c >= 8168 && c <= 8172))) : (c <= 8187 || (c < 8455 ? c == 8450 : (c <= 8455 || (c >= 8459 && c <= 8461))))))))) : (c <= 8466 || (c < 11381 ? (c < 8579 ? (c < 8488 ? (c < 8484 ? (c < 8473 ? c == 8469 : c <= 8477) : (c <= 8484 || c == 8486)) : (c <= 8488 || (c < 8510 ? (c < 8496 ? (c >= 8490 && c <= 8493) : c <= 8499) : (c <= 8511 || c == 8517)))) : (c <= 8579 || (c < 11369 ? (c < 11362 ? (c < 11360 ? (c >= 11264 && c <= 11311) : c <= 11360) : (c <= 11364 || c == 11367)) : (c <= 11369 || (c < 11373 ? c == 11371 : (c <= 11376 || c == 11378)))))) : (c <= 11381 || (c < 11410 ? (c < 11400 ? (c < 11396 ? (c < 11394 ? (c >= 11390 && c <= 11392) : c <= 11394) : (c <= 11396 || c == 11398)) : (c <= 11400 || (c < 11406 ? (c < 11404 ? c == 11402 : c <= 11404) : (c <= 11406 || c == 11408)))) : (c <= 11410 || (c < 11420 ? (c < 11416 ? (c < 11414 ? c == 11412 : c <= 11414) : (c <= 11416 || c == 11418)) : (c <= 11420 || (c < 11424 ? c == 11422 : (c <= 11424 || c == 11426)))))))))))) : (c <= 11428 || (c < 42796 ? (c < 42568 ? (c < 11468 ? (c < 11448 ? (c < 11438 ? (c < 11434 ? (c < 11432 ? c == 11430 : c <= 11432) : (c <= 11434 || c == 11436)) : (c <= 11438 || (c < 11444 ? (c < 11442 ? c == 11440 : c <= 11442) : (c <= 11444 || c == 11446)))) : (c <= 11448 || (c < 11458 ? (c < 11454 ? (c < 11452 ? c == 11450 : c <= 11452) : (c <= 11454 || c == 11456)) : (c <= 11458 || (c < 11464 ? (c < 11462 ? c == 11460 : c <= 11462) : (c <= 11464 || c == 11466)))))) : (c <= 11468 || (c < 11488 ? (c < 11478 ? (c < 11474 ? (c < 11472 ? c == 11470 : c <= 11472) : (c <= 11474 || c == 11476)) : (c <= 11478 || (c < 11484 ? (c < 11482 ? c == 11480 : c <= 11482) : (c <= 11484 || c == 11486)))) : (c <= 11488 || (c < 42560 ? (c < 11501 ? (c < 11499 ? c == 11490 : c <= 11499) : (c <= 11501 || c == 11506)) : (c <= 42560 || (c < 42564 ? c == 42562 : (c <= 42564 || c == 42566)))))))) : (c <= 42568 || (c < 42624 ? (c < 42588 ? (c < 42578 ? (c < 42574 ? (c < 42572 ? c == 42570 : c <= 42572) : (c <= 42574 || c == 42576)) : (c <= 42578 || (c < 42584 ? (c < 42582 ? c == 42580 : c <= 42582) : (c <= 42584 || c == 42586)))) : (c <= 42588 || (c < 42598 ? (c < 42594 ? (c < 42592 ? c == 42590 : c <= 42592) : (c <= 42594 || c == 42596)) : (c <= 42598 || (c < 42602 ? c == 42600 : (c <= 42602 || c == 42604)))))) : (c <= 42624 || (c < 42644 ? (c < 42634 ? (c < 42630 ? (c < 42628 ? c == 42626 : c <= 42628) : (c <= 42630 || c == 42632)) : (c <= 42634 || (c < 42640 ? (c < 42638 ? c == 42636 : c <= 42638) : (c <= 42640 || c == 42642)))) : (c <= 42644 || (c < 42788 ? (c < 42650 ? (c < 42648 ? c == 42646 : c <= 42648) : (c <= 42650 || c == 42786)) : (c <= 42788 || (c < 42792 ? c == 42790 : (c <= 42792 || c == 42794)))))))))) : (c <= 42796 || (c < 42884 ? (c < 42836 ? (c < 42818 ? (c < 42808 ? (c < 42804 ? (c < 42802 ? c == 42798 : c <= 42802) : (c <= 42804 || c == 42806)) : (c <= 42808 || (c < 42814 ? (c < 42812 ? c == 42810 : c <= 42812) : (c <= 42814 || c == 42816)))) : (c <= 42818 || (c < 42828 ? (c < 42824 ? (c < 42822 ? c == 42820 : c <= 42822) : (c <= 42824 || c == 42826)) : (c <= 42828 || (c < 42832 ? c == 42830 : (c <= 42832 || c == 42834)))))) : (c <= 42836 || (c < 42856 ? (c < 42846 ? (c < 42842 ? (c < 42840 ? c == 42838 : c <= 42840) : (c <= 42842 || c == 42844)) : (c <= 42846 || (c < 42852 ? (c < 42850 ? c == 42848 : c <= 42850) : (c <= 42852 || c == 42854)))) : (c <= 42856 || (c < 42875 ? (c < 42862 ? (c < 42860 ? c == 42858 : c <= 42860) : (c <= 42862 || c == 42873)) : (c <= 42875 || (c < 42880 ? (c >= 42877 && c <= 42878) : (c <= 42880 || c == 42882)))))))) : (c <= 42884 || (c < 42936 ? (c < 42910 ? (c < 42898 ? (c < 42893 ? (c < 42891 ? c == 42886 : c <= 42891) : (c <= 42893 || c == 42896)) : (c <= 42898 || (c < 42906 ? (c < 42904 ? c == 42902 : c <= 42904) : (c <= 42906 || c == 42908)))) : (c <= 42910 || (c < 42920 ? (c < 42916 ? (c < 42914 ? c == 42912 : c <= 42914) : (c <= 42916 || c == 42918)) : (c <= 42920 || (c < 42928 ? (c >= 42922 && c <= 42926) : (c <= 42932 || c == 42934)))))) : (c <= 42936 || (c < 42968 ? (c < 42946 ? (c < 42942 ? (c < 42940 ? c == 42938 : c <= 42940) : (c <= 42942 || c == 42944)) : (c <= 42946 || (c < 42960 ? (c < 42953 ? (c >= 42948 && c <= 42951) : c <= 42953) : (c <= 42960 || c == 42966)))) : (c <= 42968 || (c < 66928 ? (c < 66560 ? (c < 65313 ? c == 42997 : c <= 65338) : (c <= 66599 || (c >= 66736 && c <= 66771))) : (c <= 66938 || (c < 66956 ? (c >= 66940 && c <= 66954) : (c <= 66962 || (c >= 66964 && c <= 66965))))))))))))))))); } static inline bool sym__upper_case_identifier_without_leading_whitespace_character_set_2(int32_t c) { return (c < 6656 ? (c < 2979 ? (c < 2308 ? (c < 1376 ? (c < 750 ? (c < 186 ? (c < 'a' ? (c < 'A' ? (c >= '0' && c <= '9') : (c <= 'Z' || c == '_')) : (c <= 'z' || (c < 181 ? c == 170 : c <= 181))) : (c <= 186 || (c < 710 ? (c < 216 ? (c >= 192 && c <= 214) : (c <= 246 || (c >= 248 && c <= 705))) : (c <= 721 || (c < 748 ? (c >= 736 && c <= 740) : c <= 748))))) : (c <= 750 || (c < 908 ? (c < 895 ? (c < 886 ? (c >= 880 && c <= 884) : (c <= 887 || (c >= 890 && c <= 893))) : (c <= 895 || (c < 904 ? c == 902 : c <= 906))) : (c <= 908 || (c < 1162 ? (c < 931 ? (c >= 910 && c <= 929) : (c <= 1013 || (c >= 1015 && c <= 1153))) : (c <= 1327 || (c < 1369 ? (c >= 1329 && c <= 1366) : c <= 1369))))))) : (c <= 1416 || (c < 1969 ? (c < 1765 ? (c < 1646 ? (c < 1519 ? (c >= 1488 && c <= 1514) : (c <= 1522 || (c >= 1568 && c <= 1610))) : (c <= 1647 || (c < 1749 ? (c >= 1649 && c <= 1747) : c <= 1749))) : (c <= 1766 || (c < 1808 ? (c < 1786 ? (c >= 1774 && c <= 1775) : (c <= 1788 || c == 1791)) : (c <= 1808 || (c < 1869 ? (c >= 1810 && c <= 1839) : c <= 1957))))) : (c <= 1969 || (c < 2088 ? (c < 2048 ? (c < 2036 ? (c >= 1994 && c <= 2026) : (c <= 2037 || c == 2042)) : (c <= 2069 || (c < 2084 ? c == 2074 : c <= 2084))) : (c <= 2088 || (c < 2160 ? (c < 2144 ? (c >= 2112 && c <= 2136) : c <= 2154) : (c <= 2183 || (c < 2208 ? (c >= 2185 && c <= 2190) : c <= 2249))))))))) : (c <= 2361 || (c < 2693 ? (c < 2527 ? (c < 2451 ? (c < 2417 ? (c < 2384 ? c == 2365 : (c <= 2384 || (c >= 2392 && c <= 2401))) : (c <= 2432 || (c < 2447 ? (c >= 2437 && c <= 2444) : c <= 2448))) : (c <= 2472 || (c < 2493 ? (c < 2482 ? (c >= 2474 && c <= 2480) : (c <= 2482 || (c >= 2486 && c <= 2489))) : (c <= 2493 || (c < 2524 ? c == 2510 : c <= 2525))))) : (c <= 2529 || (c < 2610 ? (c < 2575 ? (c < 2556 ? (c >= 2544 && c <= 2545) : (c <= 2556 || (c >= 2565 && c <= 2570))) : (c <= 2576 || (c < 2602 ? (c >= 2579 && c <= 2600) : c <= 2608))) : (c <= 2611 || (c < 2649 ? (c < 2616 ? (c >= 2613 && c <= 2614) : c <= 2617) : (c <= 2652 || (c < 2674 ? c == 2654 : c <= 2676))))))) : (c <= 2701 || (c < 2866 ? (c < 2768 ? (c < 2738 ? (c < 2707 ? (c >= 2703 && c <= 2705) : (c <= 2728 || (c >= 2730 && c <= 2736))) : (c <= 2739 || (c < 2749 ? (c >= 2741 && c <= 2745) : c <= 2749))) : (c <= 2768 || (c < 2831 ? (c < 2809 ? (c >= 2784 && c <= 2785) : (c <= 2809 || (c >= 2821 && c <= 2828))) : (c <= 2832 || (c < 2858 ? (c >= 2835 && c <= 2856) : c <= 2864))))) : (c <= 2867 || (c < 2949 ? (c < 2911 ? (c < 2877 ? (c >= 2869 && c <= 2873) : (c <= 2877 || (c >= 2908 && c <= 2909))) : (c <= 2913 || (c < 2947 ? c == 2929 : c <= 2947))) : (c <= 2954 || (c < 2969 ? (c < 2962 ? (c >= 2958 && c <= 2960) : c <= 2965) : (c <= 2970 || (c < 2974 ? c == 2972 : c <= 2975))))))))))) : (c <= 2980 || (c < 4159 ? (c < 3412 ? (c < 3214 ? (c < 3114 ? (c < 3077 ? (c < 2990 ? (c >= 2984 && c <= 2986) : (c <= 3001 || c == 3024)) : (c <= 3084 || (c < 3090 ? (c >= 3086 && c <= 3088) : c <= 3112))) : (c <= 3129 || (c < 3168 ? (c < 3160 ? c == 3133 : (c <= 3162 || c == 3165)) : (c <= 3169 || (c < 3205 ? c == 3200 : c <= 3212))))) : (c <= 3216 || (c < 3313 ? (c < 3261 ? (c < 3242 ? (c >= 3218 && c <= 3240) : (c <= 3251 || (c >= 3253 && c <= 3257))) : (c <= 3261 || (c < 3296 ? (c >= 3293 && c <= 3294) : c <= 3297))) : (c <= 3314 || (c < 3346 ? (c < 3342 ? (c >= 3332 && c <= 3340) : c <= 3344) : (c <= 3386 || (c < 3406 ? c == 3389 : c <= 3406))))))) : (c <= 3414 || (c < 3724 ? (c < 3520 ? (c < 3482 ? (c < 3450 ? (c >= 3423 && c <= 3425) : (c <= 3455 || (c >= 3461 && c <= 3478))) : (c <= 3505 || (c < 3517 ? (c >= 3507 && c <= 3515) : c <= 3517))) : (c <= 3526 || (c < 3713 ? (c < 3634 ? (c >= 3585 && c <= 3632) : (c <= 3635 || (c >= 3648 && c <= 3654))) : (c <= 3714 || (c < 3718 ? c == 3716 : c <= 3722))))) : (c <= 3747 || (c < 3804 ? (c < 3773 ? (c < 3751 ? c == 3749 : (c <= 3760 || (c >= 3762 && c <= 3763))) : (c <= 3773 || (c < 3782 ? (c >= 3776 && c <= 3780) : c <= 3782))) : (c <= 3807 || (c < 3913 ? (c < 3904 ? c == 3840 : c <= 3911) : (c <= 3948 || (c < 4096 ? (c >= 3976 && c <= 3980) : c <= 4138))))))))) : (c <= 4159 || (c < 4888 ? (c < 4688 ? (c < 4238 ? (c < 4197 ? (c < 4186 ? (c >= 4176 && c <= 4181) : (c <= 4189 || c == 4193)) : (c <= 4198 || (c < 4213 ? (c >= 4206 && c <= 4208) : c <= 4225))) : (c <= 4238 || (c < 4304 ? (c < 4295 ? (c >= 4256 && c <= 4293) : (c <= 4295 || c == 4301)) : (c <= 4346 || (c < 4682 ? (c >= 4348 && c <= 4680) : c <= 4685))))) : (c <= 4694 || (c < 4792 ? (c < 4746 ? (c < 4698 ? c == 4696 : (c <= 4701 || (c >= 4704 && c <= 4744))) : (c <= 4749 || (c < 4786 ? (c >= 4752 && c <= 4784) : c <= 4789))) : (c <= 4798 || (c < 4808 ? (c < 4802 ? c == 4800 : c <= 4805) : (c <= 4822 || (c < 4882 ? (c >= 4824 && c <= 4880) : c <= 4885))))))) : (c <= 4954 || (c < 6016 ? (c < 5792 ? (c < 5121 ? (c < 5024 ? (c >= 4992 && c <= 5007) : (c <= 5109 || (c >= 5112 && c <= 5117))) : (c <= 5740 || (c < 5761 ? (c >= 5743 && c <= 5759) : c <= 5786))) : (c <= 5866 || (c < 5952 ? (c < 5888 ? (c >= 5873 && c <= 5880) : (c <= 5905 || (c >= 5919 && c <= 5937))) : (c <= 5969 || (c < 5998 ? (c >= 5984 && c <= 5996) : c <= 6000))))) : (c <= 6067 || (c < 6320 ? (c < 6272 ? (c < 6108 ? c == 6103 : (c <= 6108 || (c >= 6176 && c <= 6264))) : (c <= 6276 || (c < 6314 ? (c >= 6279 && c <= 6312) : c <= 6314))) : (c <= 6389 || (c < 6512 ? (c < 6480 ? (c >= 6400 && c <= 6430) : c <= 6509) : (c <= 6516 || (c < 6576 ? (c >= 6528 && c <= 6571) : c <= 6601))))))))))))) : (c <= 6678 || (c < 43259 ? (c < 8579 ? (c < 8031 ? (c < 7401 ? (c < 7098 ? (c < 6981 ? (c < 6823 ? (c >= 6688 && c <= 6740) : (c <= 6823 || (c >= 6917 && c <= 6963))) : (c <= 6988 || (c < 7086 ? (c >= 7043 && c <= 7072) : c <= 7087))) : (c <= 7141 || (c < 7296 ? (c < 7245 ? (c >= 7168 && c <= 7203) : (c <= 7247 || (c >= 7258 && c <= 7293))) : (c <= 7304 || (c < 7357 ? (c >= 7312 && c <= 7354) : c <= 7359))))) : (c <= 7404 || (c < 7968 ? (c < 7424 ? (c < 7413 ? (c >= 7406 && c <= 7411) : (c <= 7414 || c == 7418)) : (c <= 7615 || (c < 7960 ? (c >= 7680 && c <= 7957) : c <= 7965))) : (c <= 8005 || (c < 8025 ? (c < 8016 ? (c >= 8008 && c <= 8013) : c <= 8023) : (c <= 8025 || (c < 8029 ? c == 8027 : c <= 8029))))))) : (c <= 8061 || (c < 8450 ? (c < 8150 ? (c < 8130 ? (c < 8118 ? (c >= 8064 && c <= 8116) : (c <= 8124 || c == 8126)) : (c <= 8132 || (c < 8144 ? (c >= 8134 && c <= 8140) : c <= 8147))) : (c <= 8155 || (c < 8305 ? (c < 8178 ? (c >= 8160 && c <= 8172) : (c <= 8180 || (c >= 8182 && c <= 8188))) : (c <= 8305 || (c < 8336 ? c == 8319 : c <= 8348))))) : (c <= 8450 || (c < 8488 ? (c < 8473 ? (c < 8458 ? c == 8455 : (c <= 8467 || c == 8469)) : (c <= 8477 || (c < 8486 ? c == 8484 : c <= 8486))) : (c <= 8488 || (c < 8508 ? (c < 8495 ? (c >= 8490 && c <= 8493) : c <= 8505) : (c <= 8511 || (c < 8526 ? (c >= 8517 && c <= 8521) : c <= 8526))))))))) : (c <= 8580 || (c < 12593 ? (c < 11712 ? (c < 11568 ? (c < 11520 ? (c < 11499 ? (c >= 11264 && c <= 11492) : (c <= 11502 || (c >= 11506 && c <= 11507))) : (c <= 11557 || (c < 11565 ? c == 11559 : c <= 11565))) : (c <= 11623 || (c < 11688 ? (c < 11648 ? c == 11631 : (c <= 11670 || (c >= 11680 && c <= 11686))) : (c <= 11694 || (c < 11704 ? (c >= 11696 && c <= 11702) : c <= 11710))))) : (c <= 11718 || (c < 12347 ? (c < 11823 ? (c < 11728 ? (c >= 11720 && c <= 11726) : (c <= 11734 || (c >= 11736 && c <= 11742))) : (c <= 11823 || (c < 12337 ? (c >= 12293 && c <= 12294) : c <= 12341))) : (c <= 12348 || (c < 12449 ? (c < 12445 ? (c >= 12353 && c <= 12438) : c <= 12447) : (c <= 12538 || (c < 12549 ? (c >= 12540 && c <= 12543) : c <= 12591))))))) : (c <= 12686 || (c < 42775 ? (c < 42192 ? (c < 19903 ? (c < 12784 ? (c >= 12704 && c <= 12735) : (c <= 12799 || c == 13312)) : (c <= 19903 || (c < 40959 ? c == 19968 : c <= 42124))) : (c <= 42237 || (c < 42560 ? (c < 42512 ? (c >= 42240 && c <= 42508) : (c <= 42527 || (c >= 42538 && c <= 42539))) : (c <= 42606 || (c < 42656 ? (c >= 42623 && c <= 42653) : c <= 42725))))) : (c <= 42783 || (c < 43011 ? (c < 42963 ? (c < 42891 ? (c >= 42786 && c <= 42888) : (c <= 42954 || (c >= 42960 && c <= 42961))) : (c <= 42963 || (c < 42994 ? (c >= 42965 && c <= 42969) : c <= 43009))) : (c <= 43013 || (c < 43072 ? (c < 43020 ? (c >= 43015 && c <= 43018) : c <= 43042) : (c <= 43123 || (c < 43250 ? (c >= 43138 && c <= 43187) : c <= 43255))))))))))) : (c <= 43259 || (c < 65313 ? (c < 43808 ? (c < 43642 ? (c < 43488 ? (c < 43360 ? (c < 43274 ? (c >= 43261 && c <= 43262) : (c <= 43301 || (c >= 43312 && c <= 43334))) : (c <= 43388 || (c < 43471 ? (c >= 43396 && c <= 43442) : c <= 43471))) : (c <= 43492 || (c < 43584 ? (c < 43514 ? (c >= 43494 && c <= 43503) : (c <= 43518 || (c >= 43520 && c <= 43560))) : (c <= 43586 || (c < 43616 ? (c >= 43588 && c <= 43595) : c <= 43638))))) : (c <= 43642 || (c < 43739 ? (c < 43705 ? (c < 43697 ? (c >= 43646 && c <= 43695) : (c <= 43697 || (c >= 43701 && c <= 43702))) : (c <= 43709 || (c < 43714 ? c == 43712 : c <= 43714))) : (c <= 43741 || (c < 43777 ? (c < 43762 ? (c >= 43744 && c <= 43754) : c <= 43764) : (c <= 43782 || (c < 43793 ? (c >= 43785 && c <= 43790) : c <= 43798))))))) : (c <= 43814 || (c < 64287 ? (c < 55216 ? (c < 43888 ? (c < 43824 ? (c >= 43816 && c <= 43822) : (c <= 43866 || (c >= 43868 && c <= 43881))) : (c <= 44002 || (c < 55203 ? c == 44032 : c <= 55203))) : (c <= 55238 || (c < 64256 ? (c < 63744 ? (c >= 55243 && c <= 55291) : (c <= 64109 || (c >= 64112 && c <= 64217))) : (c <= 64262 || (c < 64285 ? (c >= 64275 && c <= 64279) : c <= 64285))))) : (c <= 64296 || (c < 64467 ? (c < 64320 ? (c < 64312 ? (c >= 64298 && c <= 64310) : (c <= 64316 || c == 64318)) : (c <= 64321 || (c < 64326 ? (c >= 64323 && c <= 64324) : c <= 64433))) : (c <= 64829 || (c < 65008 ? (c < 64914 ? (c >= 64848 && c <= 64911) : c <= 64967) : (c <= 65019 || (c < 65142 ? (c >= 65136 && c <= 65140) : c <= 65276))))))))) : (c <= 65338 || (c < 66864 ? (c < 66176 ? (c < 65536 ? (c < 65482 ? (c < 65382 ? (c >= 65345 && c <= 65370) : (c <= 65470 || (c >= 65474 && c <= 65479))) : (c <= 65487 || (c < 65498 ? (c >= 65490 && c <= 65495) : c <= 65500))) : (c <= 65547 || (c < 65599 ? (c < 65576 ? (c >= 65549 && c <= 65574) : (c <= 65594 || (c >= 65596 && c <= 65597))) : (c <= 65613 || (c < 65664 ? (c >= 65616 && c <= 65629) : c <= 65786))))) : (c <= 66204 || (c < 66464 ? (c < 66370 ? (c < 66304 ? (c >= 66208 && c <= 66256) : (c <= 66335 || (c >= 66349 && c <= 66368))) : (c <= 66377 || (c < 66432 ? (c >= 66384 && c <= 66421) : c <= 66461))) : (c <= 66499 || (c < 66736 ? (c < 66560 ? (c >= 66504 && c <= 66511) : c <= 66717) : (c <= 66771 || (c < 66816 ? (c >= 66776 && c <= 66811) : c <= 66855))))))) : (c <= 66915 || (c < 67506 ? (c < 66995 ? (c < 66964 ? (c < 66940 ? (c >= 66928 && c <= 66938) : (c <= 66954 || (c >= 66956 && c <= 66962))) : (c <= 66965 || (c < 66979 ? (c >= 66967 && c <= 66977) : c <= 66993))) : (c <= 67001 || (c < 67424 ? (c < 67072 ? (c >= 67003 && c <= 67004) : (c <= 67382 || (c >= 67392 && c <= 67413))) : (c <= 67431 || (c < 67463 ? (c >= 67456 && c <= 67461) : c <= 67504))))) : (c <= 67514 || (c < 67680 ? (c < 67639 ? (c < 67592 ? (c >= 67584 && c <= 67589) : (c <= 67592 || (c >= 67594 && c <= 67637))) : (c <= 67640 || (c < 67647 ? c == 67644 : c <= 67669))) : (c <= 67702 || (c < 67828 ? (c < 67808 ? (c >= 67712 && c <= 67742) : c <= 67826) : (c <= 67829 || (c < 67872 ? (c >= 67840 && c <= 67861) : c <= 67883))))))))))))))); } static inline bool sym__lower_case_identifier_without_leading_whitespace_character_set_1(int32_t c) { return (c < 8160 ? (c < 4349 ? (c < 661 ? (c < 445 ? (c < 223 ? (c < 181 ? (c >= 'a' && c <= 'z') : c <= 181) : (c <= 246 || (c >= 248 && c <= 442))) : (c <= 447 || (c < 460 ? (c < 457 ? c == 454 : c <= 457) : (c <= 496 || (c >= 499 && c <= 659))))) : (c <= 687 || (c < 940 ? (c < 891 ? (c < 887 ? (c >= 881 && c <= 883) : c <= 887) : (c <= 893 || c == 912)) : (c <= 1013 || (c < 1376 ? (c < 1163 ? (c >= 1016 && c <= 1153) : c <= 1327) : (c <= 1416 || (c >= 4304 && c <= 4346))))))) : (c <= 4351 || (c < 8064 ? (c < 7545 ? (c < 7424 ? (c < 7296 ? (c >= 5112 && c <= 5117) : c <= 7304) : (c <= 7467 || (c >= 7531 && c <= 7543))) : (c <= 7578 || (c < 8016 ? (c < 7968 ? (c >= 7681 && c <= 7957) : c <= 8005) : (c <= 8023 || (c >= 8032 && c <= 8061))))) : (c <= 8071 || (c < 8126 ? (c < 8112 ? (c < 8096 ? (c >= 8080 && c <= 8087) : c <= 8103) : (c <= 8116 || (c >= 8118 && c <= 8119))) : (c <= 8126 || (c < 8144 ? (c < 8134 ? (c >= 8130 && c <= 8132) : c <= 8135) : (c <= 8147 || (c >= 8150 && c <= 8151))))))))) : (c <= 8167 || (c < 42865 ? (c < 11312 ? (c < 8505 ? (c < 8458 ? (c < 8182 ? (c >= 8178 && c <= 8180) : c <= 8183) : (c <= 8467 || (c >= 8495 && c <= 8500))) : (c <= 8505 || (c < 8526 ? (c < 8518 ? (c >= 8508 && c <= 8509) : c <= 8521) : (c <= 8526 || c == 8580)))) : (c <= 11387 || (c < 11559 ? (c < 11507 ? (c < 11500 ? (c >= 11393 && c <= 11492) : c <= 11502) : (c <= 11507 || (c >= 11520 && c <= 11557))) : (c <= 11559 || (c < 42625 ? (c < 42561 ? c == 11565 : c <= 42605) : (c <= 42651 || (c >= 42787 && c <= 42863))))))) : (c <= 42887 || (c < 43888 ? (c < 42965 ? (c < 42961 ? (c < 42897 ? (c >= 42892 && c <= 42894) : c <= 42954) : (c <= 42961 || c == 42963)) : (c <= 42969 || (c < 43824 ? (c < 43002 ? c == 42998 : c <= 43002) : (c <= 43866 || (c >= 43872 && c <= 43880))))) : (c <= 43967 || (c < 66776 ? (c < 65345 ? (c < 64275 ? (c >= 64256 && c <= 64262) : c <= 64279) : (c <= 65370 || (c >= 66600 && c <= 66639))) : (c <= 66811 || (c < 66995 ? (c < 66979 ? (c >= 66967 && c <= 66977) : c <= 66993) : (c <= 67001 || (c >= 67003 && c <= 67004))))))))))); } static inline bool sym_upper_case_identifier_character_set_1(int32_t c) { return (c < 7760 ? (c < 990 ? (c < 430 ? (c < 330 ? (c < 288 ? (c < 268 ? (c < 258 ? (c < 216 ? (c < 192 ? (c >= 'A' && c <= 'Z') : c <= 214) : (c <= 222 || c == 256)) : (c <= 258 || (c < 264 ? (c < 262 ? c == 260 : c <= 262) : (c <= 264 || c == 266)))) : (c <= 268 || (c < 278 ? (c < 274 ? (c < 272 ? c == 270 : c <= 272) : (c <= 274 || c == 276)) : (c <= 278 || (c < 284 ? (c < 282 ? c == 280 : c <= 282) : (c <= 284 || c == 286)))))) : (c <= 288 || (c < 308 ? (c < 298 ? (c < 294 ? (c < 292 ? c == 290 : c <= 292) : (c <= 294 || c == 296)) : (c <= 298 || (c < 304 ? (c < 302 ? c == 300 : c <= 302) : (c <= 304 || c == 306)))) : (c <= 308 || (c < 319 ? (c < 315 ? (c < 313 ? c == 310 : c <= 313) : (c <= 315 || c == 317)) : (c <= 319 || (c < 325 ? (c < 323 ? c == 321 : c <= 323) : (c <= 325 || c == 327)))))))) : (c <= 330 || (c < 370 ? (c < 350 ? (c < 340 ? (c < 336 ? (c < 334 ? c == 332 : c <= 334) : (c <= 336 || c == 338)) : (c <= 340 || (c < 346 ? (c < 344 ? c == 342 : c <= 344) : (c <= 346 || c == 348)))) : (c <= 350 || (c < 360 ? (c < 356 ? (c < 354 ? c == 352 : c <= 354) : (c <= 356 || c == 358)) : (c <= 360 || (c < 366 ? (c < 364 ? c == 362 : c <= 364) : (c <= 366 || c == 368)))))) : (c <= 370 || (c < 398 ? (c < 381 ? (c < 376 ? (c < 374 ? c == 372 : c <= 374) : (c <= 377 || c == 379)) : (c <= 381 || (c < 390 ? (c < 388 ? (c >= 385 && c <= 386) : c <= 388) : (c <= 391 || (c >= 393 && c <= 395))))) : (c <= 401 || (c < 418 ? (c < 412 ? (c < 406 ? (c >= 403 && c <= 404) : c <= 408) : (c <= 413 || (c >= 415 && c <= 416))) : (c <= 418 || (c < 425 ? (c < 422 ? c == 420 : c <= 423) : (c <= 425 || c == 428)))))))))) : (c <= 431 || (c < 530 ? (c < 486 ? (c < 465 ? (c < 452 ? (c < 439 ? (c < 437 ? (c >= 433 && c <= 435) : c <= 437) : (c <= 440 || c == 444)) : (c <= 452 || (c < 461 ? (c < 458 ? c == 455 : c <= 458) : (c <= 461 || c == 463)))) : (c <= 465 || (c < 475 ? (c < 471 ? (c < 469 ? c == 467 : c <= 469) : (c <= 471 || c == 473)) : (c <= 475 || (c < 482 ? (c < 480 ? c == 478 : c <= 480) : (c <= 482 || c == 484)))))) : (c <= 486 || (c < 510 ? (c < 497 ? (c < 492 ? (c < 490 ? c == 488 : c <= 490) : (c <= 492 || c == 494)) : (c <= 497 || (c < 506 ? (c < 502 ? c == 500 : c <= 504) : (c <= 506 || c == 508)))) : (c <= 510 || (c < 520 ? (c < 516 ? (c < 514 ? c == 512 : c <= 514) : (c <= 516 || c == 518)) : (c <= 520 || (c < 526 ? (c < 524 ? c == 522 : c <= 524) : (c <= 526 || c == 528)))))))) : (c <= 530 || (c < 579 ? (c < 550 ? (c < 540 ? (c < 536 ? (c < 534 ? c == 532 : c <= 534) : (c <= 536 || c == 538)) : (c <= 540 || (c < 546 ? (c < 544 ? c == 542 : c <= 544) : (c <= 546 || c == 548)))) : (c <= 550 || (c < 560 ? (c < 556 ? (c < 554 ? c == 552 : c <= 554) : (c <= 556 || c == 558)) : (c <= 560 || (c < 573 ? (c < 570 ? c == 562 : c <= 571) : (c <= 574 || c == 577)))))) : (c <= 582 || (c < 904 ? (c < 880 ? (c < 588 ? (c < 586 ? c == 584 : c <= 586) : (c <= 588 || c == 590)) : (c <= 880 || (c < 895 ? (c < 886 ? c == 882 : c <= 886) : (c <= 895 || c == 902)))) : (c <= 906 || (c < 975 ? (c < 913 ? (c < 910 ? c == 908 : c <= 911) : (c <= 929 || (c >= 931 && c <= 939))) : (c <= 975 || (c < 986 ? (c < 984 ? (c >= 978 && c <= 980) : c <= 984) : (c <= 986 || c == 988)))))))))))) : (c <= 990 || (c < 1264 ? (c < 1182 ? (c < 1134 ? (c < 1015 ? (c < 1000 ? (c < 996 ? (c < 994 ? c == 992 : c <= 994) : (c <= 996 || c == 998)) : (c <= 1000 || (c < 1006 ? (c < 1004 ? c == 1002 : c <= 1004) : (c <= 1006 || c == 1012)))) : (c <= 1015 || (c < 1124 ? (c < 1120 ? (c < 1021 ? (c >= 1017 && c <= 1018) : c <= 1071) : (c <= 1120 || c == 1122)) : (c <= 1124 || (c < 1130 ? (c < 1128 ? c == 1126 : c <= 1128) : (c <= 1130 || c == 1132)))))) : (c <= 1134 || (c < 1162 ? (c < 1144 ? (c < 1140 ? (c < 1138 ? c == 1136 : c <= 1138) : (c <= 1140 || c == 1142)) : (c <= 1144 || (c < 1150 ? (c < 1148 ? c == 1146 : c <= 1148) : (c <= 1150 || c == 1152)))) : (c <= 1162 || (c < 1172 ? (c < 1168 ? (c < 1166 ? c == 1164 : c <= 1166) : (c <= 1168 || c == 1170)) : (c <= 1172 || (c < 1178 ? (c < 1176 ? c == 1174 : c <= 1176) : (c <= 1178 || c == 1180)))))))) : (c <= 1182 || (c < 1223 ? (c < 1202 ? (c < 1192 ? (c < 1188 ? (c < 1186 ? c == 1184 : c <= 1186) : (c <= 1188 || c == 1190)) : (c <= 1192 || (c < 1198 ? (c < 1196 ? c == 1194 : c <= 1196) : (c <= 1198 || c == 1200)))) : (c <= 1202 || (c < 1212 ? (c < 1208 ? (c < 1206 ? c == 1204 : c <= 1206) : (c <= 1208 || c == 1210)) : (c <= 1212 || (c < 1219 ? (c < 1216 ? c == 1214 : c <= 1217) : (c <= 1219 || c == 1221)))))) : (c <= 1223 || (c < 1244 ? (c < 1234 ? (c < 1229 ? (c < 1227 ? c == 1225 : c <= 1227) : (c <= 1229 || c == 1232)) : (c <= 1234 || (c < 1240 ? (c < 1238 ? c == 1236 : c <= 1238) : (c <= 1240 || c == 1242)))) : (c <= 1244 || (c < 1254 ? (c < 1250 ? (c < 1248 ? c == 1246 : c <= 1248) : (c <= 1250 || c == 1252)) : (c <= 1254 || (c < 1260 ? (c < 1258 ? c == 1256 : c <= 1258) : (c <= 1260 || c == 1262)))))))))) : (c <= 1264 || (c < 7682 ? (c < 1304 ? (c < 1284 ? (c < 1274 ? (c < 1270 ? (c < 1268 ? c == 1266 : c <= 1268) : (c <= 1270 || c == 1272)) : (c <= 1274 || (c < 1280 ? (c < 1278 ? c == 1276 : c <= 1278) : (c <= 1280 || c == 1282)))) : (c <= 1284 || (c < 1294 ? (c < 1290 ? (c < 1288 ? c == 1286 : c <= 1288) : (c <= 1290 || c == 1292)) : (c <= 1294 || (c < 1300 ? (c < 1298 ? c == 1296 : c <= 1298) : (c <= 1300 || c == 1302)))))) : (c <= 1304 || (c < 1324 ? (c < 1314 ? (c < 1310 ? (c < 1308 ? c == 1306 : c <= 1308) : (c <= 1310 || c == 1312)) : (c <= 1314 || (c < 1320 ? (c < 1318 ? c == 1316 : c <= 1318) : (c <= 1320 || c == 1322)))) : (c <= 1324 || (c < 4301 ? (c < 4256 ? (c < 1329 ? c == 1326 : c <= 1366) : (c <= 4293 || c == 4295)) : (c <= 4301 || (c < 7357 ? (c < 7312 ? (c >= 5024 && c <= 5109) : c <= 7354) : (c <= 7359 || c == 7680)))))))) : (c <= 7682 || (c < 7722 ? (c < 7702 ? (c < 7692 ? (c < 7688 ? (c < 7686 ? c == 7684 : c <= 7686) : (c <= 7688 || c == 7690)) : (c <= 7692 || (c < 7698 ? (c < 7696 ? c == 7694 : c <= 7696) : (c <= 7698 || c == 7700)))) : (c <= 7702 || (c < 7712 ? (c < 7708 ? (c < 7706 ? c == 7704 : c <= 7706) : (c <= 7708 || c == 7710)) : (c <= 7712 || (c < 7718 ? (c < 7716 ? c == 7714 : c <= 7716) : (c <= 7718 || c == 7720)))))) : (c <= 7722 || (c < 7742 ? (c < 7732 ? (c < 7728 ? (c < 7726 ? c == 7724 : c <= 7726) : (c <= 7728 || c == 7730)) : (c <= 7732 || (c < 7738 ? (c < 7736 ? c == 7734 : c <= 7736) : (c <= 7738 || c == 7740)))) : (c <= 7742 || (c < 7752 ? (c < 7748 ? (c < 7746 ? c == 7744 : c <= 7746) : (c <= 7748 || c == 7750)) : (c <= 7752 || (c < 7756 ? c == 7754 : (c <= 7756 || c == 7758)))))))))))))) : (c <= 7760 || (c < 11466 ? (c < 7928 ? (c < 7848 ? (c < 7800 ? (c < 7780 ? (c < 7770 ? (c < 7766 ? (c < 7764 ? c == 7762 : c <= 7764) : (c <= 7766 || c == 7768)) : (c <= 7770 || (c < 7776 ? (c < 7774 ? c == 7772 : c <= 7774) : (c <= 7776 || c == 7778)))) : (c <= 7780 || (c < 7790 ? (c < 7786 ? (c < 7784 ? c == 7782 : c <= 7784) : (c <= 7786 || c == 7788)) : (c <= 7790 || (c < 7796 ? (c < 7794 ? c == 7792 : c <= 7794) : (c <= 7796 || c == 7798)))))) : (c <= 7800 || (c < 7820 ? (c < 7810 ? (c < 7806 ? (c < 7804 ? c == 7802 : c <= 7804) : (c <= 7806 || c == 7808)) : (c <= 7810 || (c < 7816 ? (c < 7814 ? c == 7812 : c <= 7814) : (c <= 7816 || c == 7818)))) : (c <= 7820 || (c < 7838 ? (c < 7826 ? (c < 7824 ? c == 7822 : c <= 7824) : (c <= 7826 || c == 7828)) : (c <= 7838 || (c < 7844 ? (c < 7842 ? c == 7840 : c <= 7842) : (c <= 7844 || c == 7846)))))))) : (c <= 7848 || (c < 7888 ? (c < 7868 ? (c < 7858 ? (c < 7854 ? (c < 7852 ? c == 7850 : c <= 7852) : (c <= 7854 || c == 7856)) : (c <= 7858 || (c < 7864 ? (c < 7862 ? c == 7860 : c <= 7862) : (c <= 7864 || c == 7866)))) : (c <= 7868 || (c < 7878 ? (c < 7874 ? (c < 7872 ? c == 7870 : c <= 7872) : (c <= 7874 || c == 7876)) : (c <= 7878 || (c < 7884 ? (c < 7882 ? c == 7880 : c <= 7882) : (c <= 7884 || c == 7886)))))) : (c <= 7888 || (c < 7908 ? (c < 7898 ? (c < 7894 ? (c < 7892 ? c == 7890 : c <= 7892) : (c <= 7894 || c == 7896)) : (c <= 7898 || (c < 7904 ? (c < 7902 ? c == 7900 : c <= 7902) : (c <= 7904 || c == 7906)))) : (c <= 7908 || (c < 7918 ? (c < 7914 ? (c < 7912 ? c == 7910 : c <= 7912) : (c <= 7914 || c == 7916)) : (c <= 7918 || (c < 7924 ? (c < 7922 ? c == 7920 : c <= 7922) : (c <= 7924 || c == 7926)))))))))) : (c <= 7928 || (c < 11378 ? (c < 8455 ? (c < 8027 ? (c < 7960 ? (c < 7934 ? (c < 7932 ? c == 7930 : c <= 7932) : (c <= 7934 || (c >= 7944 && c <= 7951))) : (c <= 7965 || (c < 8008 ? (c < 7992 ? (c >= 7976 && c <= 7983) : c <= 7999) : (c <= 8013 || c == 8025)))) : (c <= 8027 || (c < 8136 ? (c < 8040 ? (c < 8031 ? c == 8029 : c <= 8031) : (c <= 8047 || (c >= 8120 && c <= 8123))) : (c <= 8139 || (c < 8184 ? (c < 8168 ? (c >= 8152 && c <= 8155) : c <= 8172) : (c <= 8187 || c == 8450)))))) : (c <= 8455 || (c < 8510 ? (c < 8484 ? (c < 8469 ? (c < 8464 ? (c >= 8459 && c <= 8461) : c <= 8466) : (c <= 8469 || (c >= 8473 && c <= 8477))) : (c <= 8484 || (c < 8490 ? (c < 8488 ? c == 8486 : c <= 8488) : (c <= 8493 || (c >= 8496 && c <= 8499))))) : (c <= 8511 || (c < 11362 ? (c < 11264 ? (c < 8579 ? c == 8517 : c <= 8579) : (c <= 11310 || c == 11360)) : (c <= 11364 || (c < 11371 ? (c < 11369 ? c == 11367 : c <= 11369) : (c <= 11371 || (c >= 11373 && c <= 11376))))))))) : (c <= 11378 || (c < 11428 ? (c < 11408 ? (c < 11398 ? (c < 11394 ? (c < 11390 ? c == 11381 : c <= 11392) : (c <= 11394 || c == 11396)) : (c <= 11398 || (c < 11404 ? (c < 11402 ? c == 11400 : c <= 11402) : (c <= 11404 || c == 11406)))) : (c <= 11408 || (c < 11418 ? (c < 11414 ? (c < 11412 ? c == 11410 : c <= 11412) : (c <= 11414 || c == 11416)) : (c <= 11418 || (c < 11424 ? (c < 11422 ? c == 11420 : c <= 11422) : (c <= 11424 || c == 11426)))))) : (c <= 11428 || (c < 11448 ? (c < 11438 ? (c < 11434 ? (c < 11432 ? c == 11430 : c <= 11432) : (c <= 11434 || c == 11436)) : (c <= 11438 || (c < 11444 ? (c < 11442 ? c == 11440 : c <= 11442) : (c <= 11444 || c == 11446)))) : (c <= 11448 || (c < 11458 ? (c < 11454 ? (c < 11452 ? c == 11450 : c <= 11452) : (c <= 11454 || c == 11456)) : (c <= 11458 || (c < 11462 ? c == 11460 : (c <= 11462 || c == 11464)))))))))))) : (c <= 11466 || (c < 42842 ? (c < 42626 ? (c < 42568 ? (c < 11486 ? (c < 11476 ? (c < 11472 ? (c < 11470 ? c == 11468 : c <= 11470) : (c <= 11472 || c == 11474)) : (c <= 11476 || (c < 11482 ? (c < 11480 ? c == 11478 : c <= 11480) : (c <= 11482 || c == 11484)))) : (c <= 11486 || (c < 11506 ? (c < 11499 ? (c < 11490 ? c == 11488 : c <= 11490) : (c <= 11499 || c == 11501)) : (c <= 11506 || (c < 42564 ? (c < 42562 ? c == 42560 : c <= 42562) : (c <= 42564 || c == 42566)))))) : (c <= 42568 || (c < 42588 ? (c < 42578 ? (c < 42574 ? (c < 42572 ? c == 42570 : c <= 42572) : (c <= 42574 || c == 42576)) : (c <= 42578 || (c < 42584 ? (c < 42582 ? c == 42580 : c <= 42582) : (c <= 42584 || c == 42586)))) : (c <= 42588 || (c < 42598 ? (c < 42594 ? (c < 42592 ? c == 42590 : c <= 42592) : (c <= 42594 || c == 42596)) : (c <= 42598 || (c < 42604 ? (c < 42602 ? c == 42600 : c <= 42602) : (c <= 42604 || c == 42624)))))))) : (c <= 42626 || (c < 42802 ? (c < 42646 ? (c < 42636 ? (c < 42632 ? (c < 42630 ? c == 42628 : c <= 42630) : (c <= 42632 || c == 42634)) : (c <= 42636 || (c < 42642 ? (c < 42640 ? c == 42638 : c <= 42640) : (c <= 42642 || c == 42644)))) : (c <= 42646 || (c < 42790 ? (c < 42786 ? (c < 42650 ? c == 42648 : c <= 42650) : (c <= 42786 || c == 42788)) : (c <= 42790 || (c < 42796 ? (c < 42794 ? c == 42792 : c <= 42794) : (c <= 42796 || c == 42798)))))) : (c <= 42802 || (c < 42822 ? (c < 42812 ? (c < 42808 ? (c < 42806 ? c == 42804 : c <= 42806) : (c <= 42808 || c == 42810)) : (c <= 42812 || (c < 42818 ? (c < 42816 ? c == 42814 : c <= 42816) : (c <= 42818 || c == 42820)))) : (c <= 42822 || (c < 42832 ? (c < 42828 ? (c < 42826 ? c == 42824 : c <= 42826) : (c <= 42828 || c == 42830)) : (c <= 42832 || (c < 42838 ? (c < 42836 ? c == 42834 : c <= 42836) : (c <= 42838 || c == 42840)))))))))) : (c <= 42842 || (c < 42948 ? (c < 42896 ? (c < 42862 ? (c < 42852 ? (c < 42848 ? (c < 42846 ? c == 42844 : c <= 42846) : (c <= 42848 || c == 42850)) : (c <= 42852 || (c < 42858 ? (c < 42856 ? c == 42854 : c <= 42856) : (c <= 42858 || c == 42860)))) : (c <= 42862 || (c < 42882 ? (c < 42877 ? (c < 42875 ? c == 42873 : c <= 42875) : (c <= 42878 || c == 42880)) : (c <= 42882 || (c < 42891 ? (c < 42886 ? c == 42884 : c <= 42886) : (c <= 42891 || c == 42893)))))) : (c <= 42896 || (c < 42918 ? (c < 42908 ? (c < 42904 ? (c < 42902 ? c == 42898 : c <= 42902) : (c <= 42904 || c == 42906)) : (c <= 42908 || (c < 42914 ? (c < 42912 ? c == 42910 : c <= 42912) : (c <= 42914 || c == 42916)))) : (c <= 42918 || (c < 42936 ? (c < 42928 ? (c < 42922 ? c == 42920 : c <= 42926) : (c <= 42932 || c == 42934)) : (c <= 42936 || (c < 42942 ? (c < 42940 ? c == 42938 : c <= 42940) : (c <= 42942 || c == 42946)))))))) : (c <= 42950 || (c < 120086 ? (c < 119964 ? (c < 71840 ? (c < 66736 ? (c < 66560 ? (c >= 65313 && c <= 65338) : c <= 66599) : (c <= 66771 || (c >= 68736 && c <= 68786))) : (c <= 71871 || (c < 119860 ? (c < 119808 ? (c >= 93760 && c <= 93791) : c <= 119833) : (c <= 119885 || (c >= 119912 && c <= 119937))))) : (c <= 119964 || (c < 119982 ? (c < 119973 ? (c < 119970 ? (c >= 119966 && c <= 119967) : c <= 119970) : (c <= 119974 || (c >= 119977 && c <= 119980))) : (c <= 119989 || (c < 120071 ? (c < 120068 ? (c >= 120016 && c <= 120041) : c <= 120069) : (c <= 120074 || (c >= 120077 && c <= 120084))))))) : (c <= 120092 || (c < 120380 ? (c < 120138 ? (c < 120128 ? (c < 120123 ? (c >= 120120 && c <= 120121) : c <= 120126) : (c <= 120132 || c == 120134)) : (c <= 120144 || (c < 120276 ? (c < 120224 ? (c >= 120172 && c <= 120197) : c <= 120249) : (c <= 120301 || (c >= 120328 && c <= 120353))))) : (c <= 120405 || (c < 120662 ? (c < 120546 ? (c < 120488 ? (c >= 120432 && c <= 120457) : c <= 120512) : (c <= 120570 || (c >= 120604 && c <= 120628))) : (c <= 120686 || (c < 120778 ? (c >= 120720 && c <= 120744) : (c <= 120778 || (c >= 125184 && c <= 125217))))))))))))))))); } static inline bool sym_upper_case_identifier_character_set_2(int32_t c) { return (c < 42240 ? (c < 3776 ? (c < 2616 ? (c < 1808 ? (c < 904 ? (c < 248 ? (c < 170 ? (c < '_' ? (c < 'A' ? (c >= '0' && c <= '9') : c <= 'Z') : (c <= '_' || (c >= 'a' && c <= 'z'))) : (c <= 170 || (c < 192 ? (c < 186 ? c == 181 : c <= 186) : (c <= 214 || (c >= 216 && c <= 246))))) : (c <= 705 || (c < 880 ? (c < 748 ? (c < 736 ? (c >= 710 && c <= 721) : c <= 740) : (c <= 748 || c == 750)) : (c <= 884 || (c < 895 ? (c < 890 ? (c >= 886 && c <= 887) : c <= 893) : (c <= 895 || c == 902)))))) : (c <= 906 || (c < 1519 ? (c < 1162 ? (c < 931 ? (c < 910 ? c == 908 : c <= 929) : (c <= 1013 || (c >= 1015 && c <= 1153))) : (c <= 1327 || (c < 1376 ? (c < 1369 ? (c >= 1329 && c <= 1366) : c <= 1369) : (c <= 1416 || (c >= 1488 && c <= 1514))))) : (c <= 1522 || (c < 1765 ? (c < 1649 ? (c < 1646 ? (c >= 1568 && c <= 1610) : c <= 1647) : (c <= 1747 || c == 1749)) : (c <= 1766 || (c < 1786 ? (c >= 1774 && c <= 1775) : (c <= 1788 || c == 1791)))))))) : (c <= 1808 || (c < 2417 ? (c < 2088 ? (c < 2036 ? (c < 1969 ? (c < 1869 ? (c >= 1810 && c <= 1839) : c <= 1957) : (c <= 1969 || (c >= 1994 && c <= 2026))) : (c <= 2037 || (c < 2074 ? (c < 2048 ? c == 2042 : c <= 2069) : (c <= 2074 || c == 2084)))) : (c <= 2088 || (c < 2308 ? (c < 2208 ? (c < 2144 ? (c >= 2112 && c <= 2136) : c <= 2154) : (c <= 2228 || (c >= 2230 && c <= 2237))) : (c <= 2361 || (c < 2384 ? c == 2365 : (c <= 2384 || (c >= 2392 && c <= 2401))))))) : (c <= 2432 || (c < 2527 ? (c < 2482 ? (c < 2451 ? (c < 2447 ? (c >= 2437 && c <= 2444) : c <= 2448) : (c <= 2472 || (c >= 2474 && c <= 2480))) : (c <= 2482 || (c < 2510 ? (c < 2493 ? (c >= 2486 && c <= 2489) : c <= 2493) : (c <= 2510 || (c >= 2524 && c <= 2525))))) : (c <= 2529 || (c < 2579 ? (c < 2565 ? (c < 2556 ? (c >= 2544 && c <= 2545) : c <= 2556) : (c <= 2570 || (c >= 2575 && c <= 2576))) : (c <= 2600 || (c < 2610 ? (c >= 2602 && c <= 2608) : (c <= 2611 || (c >= 2613 && c <= 2614))))))))))) : (c <= 2617 || (c < 3114 ? (c < 2869 ? (c < 2749 ? (c < 2703 ? (c < 2674 ? (c < 2654 ? (c >= 2649 && c <= 2652) : c <= 2654) : (c <= 2676 || (c >= 2693 && c <= 2701))) : (c <= 2705 || (c < 2738 ? (c < 2730 ? (c >= 2707 && c <= 2728) : c <= 2736) : (c <= 2739 || (c >= 2741 && c <= 2745))))) : (c <= 2749 || (c < 2831 ? (c < 2809 ? (c < 2784 ? c == 2768 : c <= 2785) : (c <= 2809 || (c >= 2821 && c <= 2828))) : (c <= 2832 || (c < 2858 ? (c >= 2835 && c <= 2856) : (c <= 2864 || (c >= 2866 && c <= 2867))))))) : (c <= 2873 || (c < 2972 ? (c < 2947 ? (c < 2911 ? (c < 2908 ? c == 2877 : c <= 2909) : (c <= 2913 || c == 2929)) : (c <= 2947 || (c < 2962 ? (c < 2958 ? (c >= 2949 && c <= 2954) : c <= 2960) : (c <= 2965 || (c >= 2969 && c <= 2970))))) : (c <= 2972 || (c < 3024 ? (c < 2984 ? (c < 2979 ? (c >= 2974 && c <= 2975) : c <= 2980) : (c <= 2986 || (c >= 2990 && c <= 3001))) : (c <= 3024 || (c < 3086 ? (c >= 3077 && c <= 3084) : (c <= 3088 || (c >= 3090 && c <= 3112))))))))) : (c <= 3129 || (c < 3412 ? (c < 3261 ? (c < 3205 ? (c < 3168 ? (c < 3160 ? c == 3133 : c <= 3162) : (c <= 3169 || c == 3200)) : (c <= 3212 || (c < 3242 ? (c < 3218 ? (c >= 3214 && c <= 3216) : c <= 3240) : (c <= 3251 || (c >= 3253 && c <= 3257))))) : (c <= 3261 || (c < 3342 ? (c < 3313 ? (c < 3296 ? c == 3294 : c <= 3297) : (c <= 3314 || (c >= 3333 && c <= 3340))) : (c <= 3344 || (c < 3389 ? (c >= 3346 && c <= 3386) : (c <= 3389 || c == 3406)))))) : (c <= 3414 || (c < 3648 ? (c < 3507 ? (c < 3461 ? (c < 3450 ? (c >= 3423 && c <= 3425) : c <= 3455) : (c <= 3478 || (c >= 3482 && c <= 3505))) : (c <= 3515 || (c < 3585 ? (c < 3520 ? c == 3517 : c <= 3526) : (c <= 3632 || (c >= 3634 && c <= 3635))))) : (c <= 3654 || (c < 3749 ? (c < 3718 ? (c < 3716 ? (c >= 3713 && c <= 3714) : c <= 3716) : (c <= 3722 || (c >= 3724 && c <= 3747))) : (c <= 3749 || (c < 3762 ? (c >= 3751 && c <= 3760) : (c <= 3763 || c == 3773)))))))))))) : (c <= 3780 || (c < 7401 ? (c < 5121 ? (c < 4348 ? (c < 4186 ? (c < 3913 ? (c < 3840 ? (c < 3804 ? c == 3782 : c <= 3807) : (c <= 3840 || (c >= 3904 && c <= 3911))) : (c <= 3948 || (c < 4159 ? (c < 4096 ? (c >= 3976 && c <= 3980) : c <= 4138) : (c <= 4159 || (c >= 4176 && c <= 4181))))) : (c <= 4189 || (c < 4238 ? (c < 4206 ? (c < 4197 ? c == 4193 : c <= 4198) : (c <= 4208 || (c >= 4213 && c <= 4225))) : (c <= 4238 || (c < 4301 ? (c < 4295 ? (c >= 4256 && c <= 4293) : c <= 4295) : (c <= 4301 || (c >= 4304 && c <= 4346))))))) : (c <= 4680 || (c < 4800 ? (c < 4704 ? (c < 4696 ? (c < 4688 ? (c >= 4682 && c <= 4685) : c <= 4694) : (c <= 4696 || (c >= 4698 && c <= 4701))) : (c <= 4744 || (c < 4786 ? (c < 4752 ? (c >= 4746 && c <= 4749) : c <= 4784) : (c <= 4789 || (c >= 4792 && c <= 4798))))) : (c <= 4800 || (c < 4888 ? (c < 4824 ? (c < 4808 ? (c >= 4802 && c <= 4805) : c <= 4822) : (c <= 4880 || (c >= 4882 && c <= 4885))) : (c <= 4954 || (c < 5024 ? (c >= 4992 && c <= 5007) : (c <= 5109 || (c >= 5112 && c <= 5117))))))))) : (c <= 5740 || (c < 6400 ? (c < 5998 ? (c < 5888 ? (c < 5792 ? (c < 5761 ? (c >= 5743 && c <= 5759) : c <= 5786) : (c <= 5866 || (c >= 5873 && c <= 5880))) : (c <= 5900 || (c < 5952 ? (c < 5920 ? (c >= 5902 && c <= 5905) : c <= 5937) : (c <= 5969 || (c >= 5984 && c <= 5996))))) : (c <= 6000 || (c < 6272 ? (c < 6108 ? (c < 6103 ? (c >= 6016 && c <= 6067) : c <= 6103) : (c <= 6108 || (c >= 6176 && c <= 6264))) : (c <= 6276 || (c < 6314 ? (c >= 6279 && c <= 6312) : (c <= 6314 || (c >= 6320 && c <= 6389))))))) : (c <= 6430 || (c < 7043 ? (c < 6656 ? (c < 6528 ? (c < 6512 ? (c >= 6480 && c <= 6509) : c <= 6516) : (c <= 6571 || (c >= 6576 && c <= 6601))) : (c <= 6678 || (c < 6917 ? (c < 6823 ? (c >= 6688 && c <= 6740) : c <= 6823) : (c <= 6963 || (c >= 6981 && c <= 6987))))) : (c <= 7072 || (c < 7258 ? (c < 7168 ? (c < 7098 ? (c >= 7086 && c <= 7087) : c <= 7141) : (c <= 7203 || (c >= 7245 && c <= 7247))) : (c <= 7293 || (c < 7312 ? (c >= 7296 && c <= 7304) : (c <= 7354 || (c >= 7357 && c <= 7359))))))))))) : (c <= 7404 || (c < 8517 ? (c < 8144 ? (c < 8025 ? (c < 7680 ? (c < 7418 ? (c < 7413 ? (c >= 7406 && c <= 7411) : c <= 7414) : (c <= 7418 || (c >= 7424 && c <= 7615))) : (c <= 7957 || (c < 8008 ? (c < 7968 ? (c >= 7960 && c <= 7965) : c <= 8005) : (c <= 8013 || (c >= 8016 && c <= 8023))))) : (c <= 8025 || (c < 8118 ? (c < 8031 ? (c < 8029 ? c == 8027 : c <= 8029) : (c <= 8061 || (c >= 8064 && c <= 8116))) : (c <= 8124 || (c < 8130 ? c == 8126 : (c <= 8132 || (c >= 8134 && c <= 8140))))))) : (c <= 8147 || (c < 8458 ? (c < 8305 ? (c < 8178 ? (c < 8160 ? (c >= 8150 && c <= 8155) : c <= 8172) : (c <= 8180 || (c >= 8182 && c <= 8188))) : (c <= 8305 || (c < 8450 ? (c < 8336 ? c == 8319 : c <= 8348) : (c <= 8450 || c == 8455)))) : (c <= 8467 || (c < 8488 ? (c < 8484 ? (c < 8473 ? c == 8469 : c <= 8477) : (c <= 8484 || c == 8486)) : (c <= 8488 || (c < 8495 ? (c >= 8490 && c <= 8493) : (c <= 8505 || (c >= 8508 && c <= 8511))))))))) : (c <= 8521 || (c < 11720 ? (c < 11565 ? (c < 11360 ? (c < 11264 ? (c < 8579 ? c == 8526 : c <= 8580) : (c <= 11310 || (c >= 11312 && c <= 11358))) : (c <= 11492 || (c < 11520 ? (c < 11506 ? (c >= 11499 && c <= 11502) : c <= 11507) : (c <= 11557 || c == 11559)))) : (c <= 11565 || (c < 11688 ? (c < 11648 ? (c < 11631 ? (c >= 11568 && c <= 11623) : c <= 11631) : (c <= 11670 || (c >= 11680 && c <= 11686))) : (c <= 11694 || (c < 11704 ? (c >= 11696 && c <= 11702) : (c <= 11710 || (c >= 11712 && c <= 11718))))))) : (c <= 11726 || (c < 12540 ? (c < 12337 ? (c < 11823 ? (c < 11736 ? (c >= 11728 && c <= 11734) : c <= 11742) : (c <= 11823 || (c >= 12293 && c <= 12294))) : (c <= 12341 || (c < 12445 ? (c < 12353 ? (c >= 12347 && c <= 12348) : c <= 12438) : (c <= 12447 || (c >= 12449 && c <= 12538))))) : (c <= 12543 || (c < 13312 ? (c < 12704 ? (c < 12593 ? (c >= 12549 && c <= 12591) : c <= 12686) : (c <= 12730 || (c >= 12784 && c <= 12799))) : (c <= 19893 || (c < 40960 ? (c >= 19968 && c <= 40943) : (c <= 42124 || (c >= 42192 && c <= 42237))))))))))))))) : (c <= 42508 || (c < 70320 ? (c < 65536 ? (c < 43744 ? (c < 43312 ? (c < 42999 ? (c < 42656 ? (c < 42560 ? (c < 42538 ? (c >= 42512 && c <= 42527) : c <= 42539) : (c <= 42606 || (c >= 42623 && c <= 42653))) : (c <= 42725 || (c < 42891 ? (c < 42786 ? (c >= 42775 && c <= 42783) : c <= 42888) : (c <= 42943 || (c >= 42946 && c <= 42950))))) : (c <= 43009 || (c < 43138 ? (c < 43020 ? (c < 43015 ? (c >= 43011 && c <= 43013) : c <= 43018) : (c <= 43042 || (c >= 43072 && c <= 43123))) : (c <= 43187 || (c < 43261 ? (c < 43259 ? (c >= 43250 && c <= 43255) : c <= 43259) : (c <= 43262 || (c >= 43274 && c <= 43301))))))) : (c <= 43334 || (c < 43616 ? (c < 43494 ? (c < 43471 ? (c < 43396 ? (c >= 43360 && c <= 43388) : c <= 43442) : (c <= 43471 || (c >= 43488 && c <= 43492))) : (c <= 43503 || (c < 43584 ? (c < 43520 ? (c >= 43514 && c <= 43518) : c <= 43560) : (c <= 43586 || (c >= 43588 && c <= 43595))))) : (c <= 43638 || (c < 43705 ? (c < 43697 ? (c < 43646 ? c == 43642 : c <= 43695) : (c <= 43697 || (c >= 43701 && c <= 43702))) : (c <= 43709 || (c < 43714 ? c == 43712 : (c <= 43714 || (c >= 43739 && c <= 43741))))))))) : (c <= 43754 || (c < 64298 ? (c < 44032 ? (c < 43808 ? (c < 43785 ? (c < 43777 ? (c >= 43762 && c <= 43764) : c <= 43782) : (c <= 43790 || (c >= 43793 && c <= 43798))) : (c <= 43814 || (c < 43868 ? (c < 43824 ? (c >= 43816 && c <= 43822) : c <= 43866) : (c <= 43879 || (c >= 43888 && c <= 44002))))) : (c <= 55203 || (c < 64256 ? (c < 63744 ? (c < 55243 ? (c >= 55216 && c <= 55238) : c <= 55291) : (c <= 64109 || (c >= 64112 && c <= 64217))) : (c <= 64262 || (c < 64285 ? (c >= 64275 && c <= 64279) : (c <= 64285 || (c >= 64287 && c <= 64296))))))) : (c <= 64310 || (c < 65136 ? (c < 64326 ? (c < 64320 ? (c < 64318 ? (c >= 64312 && c <= 64316) : c <= 64318) : (c <= 64321 || (c >= 64323 && c <= 64324))) : (c <= 64433 || (c < 64914 ? (c < 64848 ? (c >= 64467 && c <= 64829) : c <= 64911) : (c <= 64967 || (c >= 65008 && c <= 65019))))) : (c <= 65140 || (c < 65474 ? (c < 65345 ? (c < 65313 ? (c >= 65142 && c <= 65276) : c <= 65338) : (c <= 65370 || (c >= 65382 && c <= 65470))) : (c <= 65479 || (c < 65490 ? (c >= 65482 && c <= 65487) : (c <= 65495 || (c >= 65498 && c <= 65500))))))))))) : (c <= 65547 || (c < 68096 ? (c < 66816 ? (c < 66349 ? (c < 65616 ? (c < 65596 ? (c < 65576 ? (c >= 65549 && c <= 65574) : c <= 65594) : (c <= 65597 || (c >= 65599 && c <= 65613))) : (c <= 65629 || (c < 66208 ? (c < 66176 ? (c >= 65664 && c <= 65786) : c <= 66204) : (c <= 66256 || (c >= 66304 && c <= 66335))))) : (c <= 66368 || (c < 66504 ? (c < 66432 ? (c < 66384 ? (c >= 66370 && c <= 66377) : c <= 66421) : (c <= 66461 || (c >= 66464 && c <= 66499))) : (c <= 66511 || (c < 66736 ? (c >= 66560 && c <= 66717) : (c <= 66771 || (c >= 66776 && c <= 66811))))))) : (c <= 66855 || (c < 67647 ? (c < 67584 ? (c < 67392 ? (c < 67072 ? (c >= 66864 && c <= 66915) : c <= 67382) : (c <= 67413 || (c >= 67424 && c <= 67431))) : (c <= 67589 || (c < 67639 ? (c < 67594 ? c == 67592 : c <= 67637) : (c <= 67640 || c == 67644)))) : (c <= 67669 || (c < 67840 ? (c < 67808 ? (c < 67712 ? (c >= 67680 && c <= 67702) : c <= 67742) : (c <= 67826 || (c >= 67828 && c <= 67829))) : (c <= 67861 || (c < 67968 ? (c >= 67872 && c <= 67897) : (c <= 68023 || (c >= 68030 && c <= 68031))))))))) : (c <= 68096 || (c < 69600 ? (c < 68448 ? (c < 68224 ? (c < 68121 ? (c < 68117 ? (c >= 68112 && c <= 68115) : c <= 68119) : (c <= 68149 || (c >= 68192 && c <= 68220))) : (c <= 68252 || (c < 68352 ? (c < 68297 ? (c >= 68288 && c <= 68295) : c <= 68324) : (c <= 68405 || (c >= 68416 && c <= 68437))))) : (c <= 68466 || (c < 68864 ? (c < 68736 ? (c < 68608 ? (c >= 68480 && c <= 68497) : c <= 68680) : (c <= 68786 || (c >= 68800 && c <= 68850))) : (c <= 68899 || (c < 69415 ? (c >= 69376 && c <= 69404) : (c <= 69415 || (c >= 69424 && c <= 69445))))))) : (c <= 69622 || (c < 70106 ? (c < 69956 ? (c < 69840 ? (c < 69763 ? (c >= 69635 && c <= 69687) : c <= 69807) : (c <= 69864 || (c >= 69891 && c <= 69926))) : (c <= 69956 || (c < 70019 ? (c < 70006 ? (c >= 69968 && c <= 70002) : c <= 70006) : (c <= 70066 || (c >= 70081 && c <= 70084))))) : (c <= 70106 || (c < 70280 ? (c < 70163 ? (c < 70144 ? c == 70108 : c <= 70161) : (c <= 70187 || (c >= 70272 && c <= 70278))) : (c <= 70280 || (c < 70287 ? (c >= 70282 && c <= 70285) : (c <= 70301 || (c >= 70303 && c <= 70312))))))))))))) : (c <= 70366 || (c < 119808 ? (c < 72768 ? (c < 71296 ? (c < 70656 ? (c < 70450 ? (c < 70419 ? (c < 70415 ? (c >= 70405 && c <= 70412) : c <= 70416) : (c <= 70440 || (c >= 70442 && c <= 70448))) : (c <= 70451 || (c < 70480 ? (c < 70461 ? (c >= 70453 && c <= 70457) : c <= 70461) : (c <= 70480 || (c >= 70493 && c <= 70497))))) : (c <= 70708 || (c < 70855 ? (c < 70784 ? (c < 70751 ? (c >= 70727 && c <= 70730) : c <= 70751) : (c <= 70831 || (c >= 70852 && c <= 70853))) : (c <= 70855 || (c < 71168 ? (c < 71128 ? (c >= 71040 && c <= 71086) : c <= 71131) : (c <= 71215 || c == 71236)))))) : (c <= 71338 || (c < 72192 ? (c < 71935 ? (c < 71680 ? (c < 71424 ? c == 71352 : c <= 71450) : (c <= 71723 || (c >= 71840 && c <= 71903))) : (c <= 71935 || (c < 72161 ? (c < 72106 ? (c >= 72096 && c <= 72103) : c <= 72144) : (c <= 72161 || c == 72163)))) : (c <= 72192 || (c < 72349 ? (c < 72272 ? (c < 72250 ? (c >= 72203 && c <= 72242) : c <= 72250) : (c <= 72272 || (c >= 72284 && c <= 72329))) : (c <= 72349 || (c < 72704 ? (c >= 72384 && c <= 72440) : (c <= 72712 || (c >= 72714 && c <= 72750))))))))) : (c <= 72768 || (c < 92992 ? (c < 73440 ? (c < 73030 ? (c < 72968 ? (c < 72960 ? (c >= 72818 && c <= 72847) : c <= 72966) : (c <= 72969 || (c >= 72971 && c <= 73008))) : (c <= 73030 || (c < 73066 ? (c < 73063 ? (c >= 73056 && c <= 73061) : c <= 73064) : (c <= 73097 || c == 73112)))) : (c <= 73458 || (c < 92160 ? (c < 77824 ? (c < 74880 ? (c >= 73728 && c <= 74649) : c <= 75075) : (c <= 78894 || (c >= 82944 && c <= 83526))) : (c <= 92728 || (c < 92880 ? (c >= 92736 && c <= 92766) : (c <= 92909 || (c >= 92928 && c <= 92975))))))) : (c <= 92995 || (c < 100352 ? (c < 94032 ? (c < 93760 ? (c < 93053 ? (c >= 93027 && c <= 93047) : c <= 93071) : (c <= 93823 || (c >= 93952 && c <= 94026))) : (c <= 94032 || (c < 94179 ? (c < 94176 ? (c >= 94099 && c <= 94111) : c <= 94177) : (c <= 94179 || (c >= 94208 && c <= 100343))))) : (c <= 101106 || (c < 113664 ? (c < 110948 ? (c < 110928 ? (c >= 110592 && c <= 110878) : c <= 110930) : (c <= 110951 || (c >= 110960 && c <= 111355))) : (c <= 113770 || (c < 113792 ? (c >= 113776 && c <= 113788) : (c <= 113800 || (c >= 113808 && c <= 113817))))))))))) : (c <= 119892 || (c < 126469 ? (c < 120488 ? (c < 120071 ? (c < 119977 ? (c < 119970 ? (c < 119966 ? (c >= 119894 && c <= 119964) : c <= 119967) : (c <= 119970 || (c >= 119973 && c <= 119974))) : (c <= 119980 || (c < 119997 ? (c < 119995 ? (c >= 119982 && c <= 119993) : c <= 119995) : (c <= 120003 || (c >= 120005 && c <= 120069))))) : (c <= 120074 || (c < 120128 ? (c < 120094 ? (c < 120086 ? (c >= 120077 && c <= 120084) : c <= 120092) : (c <= 120121 || (c >= 120123 && c <= 120126))) : (c <= 120132 || (c < 120138 ? c == 120134 : (c <= 120144 || (c >= 120146 && c <= 120485))))))) : (c <= 120512 || (c < 120772 ? (c < 120630 ? (c < 120572 ? (c < 120540 ? (c >= 120514 && c <= 120538) : c <= 120570) : (c <= 120596 || (c >= 120598 && c <= 120628))) : (c <= 120654 || (c < 120714 ? (c < 120688 ? (c >= 120656 && c <= 120686) : c <= 120712) : (c <= 120744 || (c >= 120746 && c <= 120770))))) : (c <= 120779 || (c < 124928 ? (c < 123214 ? (c < 123191 ? (c >= 123136 && c <= 123180) : c <= 123197) : (c <= 123214 || (c >= 123584 && c <= 123627))) : (c <= 125124 || (c < 125259 ? (c >= 125184 && c <= 125251) : (c <= 125259 || (c >= 126464 && c <= 126467))))))))) : (c <= 126495 || (c < 126559 ? (c < 126537 ? (c < 126516 ? (c < 126503 ? (c < 126500 ? (c >= 126497 && c <= 126498) : c <= 126500) : (c <= 126503 || (c >= 126505 && c <= 126514))) : (c <= 126519 || (c < 126530 ? (c < 126523 ? c == 126521 : c <= 126523) : (c <= 126530 || c == 126535)))) : (c <= 126537 || (c < 126551 ? (c < 126545 ? (c < 126541 ? c == 126539 : c <= 126543) : (c <= 126546 || c == 126548)) : (c <= 126551 || (c < 126555 ? c == 126553 : (c <= 126555 || c == 126557)))))) : (c <= 126559 || (c < 126625 ? (c < 126580 ? (c < 126567 ? (c < 126564 ? (c >= 126561 && c <= 126562) : c <= 126564) : (c <= 126570 || (c >= 126572 && c <= 126578))) : (c <= 126583 || (c < 126592 ? (c < 126590 ? (c >= 126585 && c <= 126588) : c <= 126590) : (c <= 126601 || (c >= 126603 && c <= 126619))))) : (c <= 126627 || (c < 177984 ? (c < 131072 ? (c < 126635 ? (c >= 126629 && c <= 126633) : c <= 126651) : (c <= 173782 || (c >= 173824 && c <= 177972))) : (c <= 178205 || (c < 183984 ? (c >= 178208 && c <= 183969) : (c <= 191456 || (c >= 194560 && c <= 195101))))))))))))))))); } static inline bool sym_lower_case_identifier_character_set_1(int32_t c) { return (c < 11500 ? (c < 7968 ? (c < 912 ? (c < 457 ? (c < 248 ? (c < 181 ? (c >= 'a' && c <= 'z') : (c <= 181 || (c >= 223 && c <= 246))) : (c <= 442 || (c < 454 ? (c >= 445 && c <= 447) : c <= 454))) : (c <= 457 || (c < 881 ? (c < 499 ? (c >= 460 && c <= 496) : (c <= 659 || (c >= 661 && c <= 687))) : (c <= 883 || (c < 891 ? c == 887 : c <= 893))))) : (c <= 912 || (c < 5112 ? (c < 1376 ? (c < 1016 ? (c >= 940 && c <= 1013) : (c <= 1153 || (c >= 1163 && c <= 1327))) : (c <= 1416 || (c < 4349 ? (c >= 4304 && c <= 4346) : c <= 4351))) : (c <= 5117 || (c < 7531 ? (c < 7424 ? (c >= 7296 && c <= 7304) : c <= 7467) : (c <= 7543 || (c < 7681 ? (c >= 7545 && c <= 7578) : c <= 7957))))))) : (c <= 8005 || (c < 8160 ? (c < 8118 ? (c < 8080 ? (c < 8032 ? (c >= 8016 && c <= 8023) : (c <= 8061 || (c >= 8064 && c <= 8071))) : (c <= 8087 || (c < 8112 ? (c >= 8096 && c <= 8103) : c <= 8116))) : (c <= 8119 || (c < 8134 ? (c < 8130 ? c == 8126 : c <= 8132) : (c <= 8135 || (c < 8150 ? (c >= 8144 && c <= 8147) : c <= 8151))))) : (c <= 8167 || (c < 8518 ? (c < 8495 ? (c < 8182 ? (c >= 8178 && c <= 8180) : (c <= 8183 || (c >= 8458 && c <= 8467))) : (c <= 8500 || (c < 8508 ? c == 8505 : c <= 8509))) : (c <= 8521 || (c < 11312 ? (c < 8580 ? c == 8526 : c <= 8580) : (c <= 11358 || (c < 11393 ? (c >= 11361 && c <= 11387) : c <= 11492))))))))) : (c <= 11502 || (c < 119938 ? (c < 43872 ? (c < 42787 ? (c < 11565 ? (c < 11520 ? c == 11507 : (c <= 11557 || c == 11559)) : (c <= 11565 || (c < 42625 ? (c >= 42561 && c <= 42605) : c <= 42651))) : (c <= 42863 || (c < 42947 ? (c < 42892 ? (c >= 42865 && c <= 42887) : (c <= 42894 || (c >= 42897 && c <= 42943))) : (c <= 42947 || (c < 43824 ? c == 43002 : c <= 43866))))) : (c <= 43879 || (c < 68800 ? (c < 65345 ? (c < 64256 ? (c >= 43888 && c <= 43967) : (c <= 64262 || (c >= 64275 && c <= 64279))) : (c <= 65370 || (c < 66776 ? (c >= 66600 && c <= 66639) : c <= 66811))) : (c <= 68850 || (c < 119834 ? (c < 93792 ? (c >= 71872 && c <= 71903) : c <= 93823) : (c <= 119859 || (c < 119894 ? (c >= 119886 && c <= 119892) : c <= 119911))))))) : (c <= 119963 || (c < 120458 ? (c < 120146 ? (c < 120005 ? (c < 119995 ? (c >= 119990 && c <= 119993) : (c <= 119995 || (c >= 119997 && c <= 120003))) : (c <= 120015 || (c < 120094 ? (c >= 120042 && c <= 120067) : c <= 120119))) : (c <= 120171 || (c < 120302 ? (c < 120250 ? (c >= 120198 && c <= 120223) : c <= 120275) : (c <= 120327 || (c < 120406 ? (c >= 120354 && c <= 120379) : c <= 120431))))) : (c <= 120485 || (c < 120688 ? (c < 120598 ? (c < 120540 ? (c >= 120514 && c <= 120538) : (c <= 120545 || (c >= 120572 && c <= 120596))) : (c <= 120603 || (c < 120656 ? (c >= 120630 && c <= 120654) : c <= 120661))) : (c <= 120712 || (c < 120772 ? (c < 120746 ? (c >= 120714 && c <= 120719) : c <= 120770) : (c <= 120777 || (c < 125218 ? c == 120779 : c <= 125251))))))))))); } static inline bool sym_lower_case_identifier_character_set_2(int32_t c) { return (c < 7769 ? (c < 997 ? (c < 432 ? (c < 331 ? (c < 289 ? (c < 269 ? (c < 259 ? (c < 223 ? (c < 181 ? (c >= 'a' && c <= 'z') : c <= 181) : (c <= 246 || (c < 257 ? (c >= 248 && c <= 255) : c <= 257))) : (c <= 259 || (c < 265 ? (c < 263 ? c == 261 : c <= 263) : (c <= 265 || c == 267)))) : (c <= 269 || (c < 279 ? (c < 275 ? (c < 273 ? c == 271 : c <= 273) : (c <= 275 || c == 277)) : (c <= 279 || (c < 285 ? (c < 283 ? c == 281 : c <= 283) : (c <= 285 || c == 287)))))) : (c <= 289 || (c < 309 ? (c < 299 ? (c < 295 ? (c < 293 ? c == 291 : c <= 293) : (c <= 295 || c == 297)) : (c <= 299 || (c < 305 ? (c < 303 ? c == 301 : c <= 303) : (c <= 305 || c == 307)))) : (c <= 309 || (c < 320 ? (c < 316 ? (c < 314 ? (c >= 311 && c <= 312) : c <= 314) : (c <= 316 || c == 318)) : (c <= 320 || (c < 326 ? (c < 324 ? c == 322 : c <= 324) : (c <= 326 || (c >= 328 && c <= 329))))))))) : (c <= 331 || (c < 371 ? (c < 351 ? (c < 341 ? (c < 337 ? (c < 335 ? c == 333 : c <= 335) : (c <= 337 || c == 339)) : (c <= 341 || (c < 347 ? (c < 345 ? c == 343 : c <= 345) : (c <= 347 || c == 349)))) : (c <= 351 || (c < 361 ? (c < 357 ? (c < 355 ? c == 353 : c <= 355) : (c <= 357 || c == 359)) : (c <= 361 || (c < 367 ? (c < 365 ? c == 363 : c <= 365) : (c <= 367 || c == 369)))))) : (c <= 371 || (c < 402 ? (c < 382 ? (c < 378 ? (c < 375 ? c == 373 : c <= 375) : (c <= 378 || c == 380)) : (c <= 384 || (c < 392 ? (c < 389 ? c == 387 : c <= 389) : (c <= 392 || (c >= 396 && c <= 397))))) : (c <= 402 || (c < 419 ? (c < 414 ? (c < 409 ? c == 405 : c <= 411) : (c <= 414 || c == 417)) : (c <= 419 || (c < 426 ? (c < 424 ? c == 421 : c <= 424) : (c <= 427 || c == 429)))))))))) : (c <= 432 || (c < 531 ? (c < 487 ? (c < 466 ? (c < 454 ? (c < 441 ? (c < 438 ? c == 436 : c <= 438) : (c <= 442 || (c >= 445 && c <= 447))) : (c <= 454 || (c < 462 ? (c < 460 ? c == 457 : c <= 460) : (c <= 462 || c == 464)))) : (c <= 466 || (c < 476 ? (c < 472 ? (c < 470 ? c == 468 : c <= 470) : (c <= 472 || c == 474)) : (c <= 477 || (c < 483 ? (c < 481 ? c == 479 : c <= 481) : (c <= 483 || c == 485)))))) : (c <= 487 || (c < 511 ? (c < 499 ? (c < 493 ? (c < 491 ? c == 489 : c <= 491) : (c <= 493 || (c >= 495 && c <= 496))) : (c <= 499 || (c < 507 ? (c < 505 ? c == 501 : c <= 505) : (c <= 507 || c == 509)))) : (c <= 511 || (c < 521 ? (c < 517 ? (c < 515 ? c == 513 : c <= 515) : (c <= 517 || c == 519)) : (c <= 521 || (c < 527 ? (c < 525 ? c == 523 : c <= 525) : (c <= 527 || c == 529)))))))) : (c <= 531 || (c < 583 ? (c < 551 ? (c < 541 ? (c < 537 ? (c < 535 ? c == 533 : c <= 535) : (c <= 537 || c == 539)) : (c <= 541 || (c < 547 ? (c < 545 ? c == 543 : c <= 545) : (c <= 547 || c == 549)))) : (c <= 551 || (c < 561 ? (c < 557 ? (c < 555 ? c == 553 : c <= 555) : (c <= 557 || c == 559)) : (c <= 561 || (c < 575 ? (c < 572 ? (c >= 563 && c <= 569) : c <= 572) : (c <= 576 || c == 578)))))) : (c <= 583 || (c < 912 ? (c < 661 ? (c < 589 ? (c < 587 ? c == 585 : c <= 587) : (c <= 589 || (c >= 591 && c <= 659))) : (c <= 687 || (c < 887 ? (c < 883 ? c == 881 : c <= 883) : (c <= 887 || (c >= 891 && c <= 893))))) : (c <= 912 || (c < 987 ? (c < 981 ? (c < 976 ? (c >= 940 && c <= 974) : c <= 977) : (c <= 983 || c == 985)) : (c <= 987 || (c < 993 ? (c < 991 ? c == 989 : c <= 991) : (c <= 993 || c == 995)))))))))))) : (c <= 997 || (c < 1273 ? (c < 1191 ? (c < 1143 ? (c < 1123 ? (c < 1013 ? (c < 1003 ? (c < 1001 ? c == 999 : c <= 1001) : (c <= 1003 || (c < 1007 ? c == 1005 : c <= 1011))) : (c <= 1013 || (c < 1072 ? (c < 1019 ? c == 1016 : c <= 1020) : (c <= 1119 || c == 1121)))) : (c <= 1123 || (c < 1133 ? (c < 1129 ? (c < 1127 ? c == 1125 : c <= 1127) : (c <= 1129 || c == 1131)) : (c <= 1133 || (c < 1139 ? (c < 1137 ? c == 1135 : c <= 1137) : (c <= 1139 || c == 1141)))))) : (c <= 1143 || (c < 1171 ? (c < 1153 ? (c < 1149 ? (c < 1147 ? c == 1145 : c <= 1147) : (c <= 1149 || c == 1151)) : (c <= 1153 || (c < 1167 ? (c < 1165 ? c == 1163 : c <= 1165) : (c <= 1167 || c == 1169)))) : (c <= 1171 || (c < 1181 ? (c < 1177 ? (c < 1175 ? c == 1173 : c <= 1175) : (c <= 1177 || c == 1179)) : (c <= 1181 || (c < 1187 ? (c < 1185 ? c == 1183 : c <= 1185) : (c <= 1187 || c == 1189)))))))) : (c <= 1191 || (c < 1233 ? (c < 1211 ? (c < 1201 ? (c < 1197 ? (c < 1195 ? c == 1193 : c <= 1195) : (c <= 1197 || c == 1199)) : (c <= 1201 || (c < 1207 ? (c < 1205 ? c == 1203 : c <= 1205) : (c <= 1207 || c == 1209)))) : (c <= 1211 || (c < 1222 ? (c < 1218 ? (c < 1215 ? c == 1213 : c <= 1215) : (c <= 1218 || c == 1220)) : (c <= 1222 || (c < 1228 ? (c < 1226 ? c == 1224 : c <= 1226) : (c <= 1228 || (c >= 1230 && c <= 1231))))))) : (c <= 1233 || (c < 1253 ? (c < 1243 ? (c < 1239 ? (c < 1237 ? c == 1235 : c <= 1237) : (c <= 1239 || c == 1241)) : (c <= 1243 || (c < 1249 ? (c < 1247 ? c == 1245 : c <= 1247) : (c <= 1249 || c == 1251)))) : (c <= 1253 || (c < 1263 ? (c < 1259 ? (c < 1257 ? c == 1255 : c <= 1257) : (c <= 1259 || c == 1261)) : (c <= 1263 || (c < 1269 ? (c < 1267 ? c == 1265 : c <= 1267) : (c <= 1269 || c == 1271)))))))))) : (c <= 1273 || (c < 7689 ? (c < 1313 ? (c < 1293 ? (c < 1283 ? (c < 1279 ? (c < 1277 ? c == 1275 : c <= 1277) : (c <= 1279 || c == 1281)) : (c <= 1283 || (c < 1289 ? (c < 1287 ? c == 1285 : c <= 1287) : (c <= 1289 || c == 1291)))) : (c <= 1293 || (c < 1303 ? (c < 1299 ? (c < 1297 ? c == 1295 : c <= 1297) : (c <= 1299 || c == 1301)) : (c <= 1303 || (c < 1309 ? (c < 1307 ? c == 1305 : c <= 1307) : (c <= 1309 || c == 1311)))))) : (c <= 1313 || (c < 4349 ? (c < 1323 ? (c < 1319 ? (c < 1317 ? c == 1315 : c <= 1317) : (c <= 1319 || c == 1321)) : (c <= 1323 || (c < 1376 ? (c < 1327 ? c == 1325 : c <= 1327) : (c <= 1416 || (c >= 4304 && c <= 4346))))) : (c <= 4351 || (c < 7545 ? (c < 7424 ? (c < 7296 ? (c >= 5112 && c <= 5117) : c <= 7304) : (c <= 7467 || (c >= 7531 && c <= 7543))) : (c <= 7578 || (c < 7685 ? (c < 7683 ? c == 7681 : c <= 7683) : (c <= 7685 || c == 7687)))))))) : (c <= 7689 || (c < 7729 ? (c < 7709 ? (c < 7699 ? (c < 7695 ? (c < 7693 ? c == 7691 : c <= 7693) : (c <= 7695 || c == 7697)) : (c <= 7699 || (c < 7705 ? (c < 7703 ? c == 7701 : c <= 7703) : (c <= 7705 || c == 7707)))) : (c <= 7709 || (c < 7719 ? (c < 7715 ? (c < 7713 ? c == 7711 : c <= 7713) : (c <= 7715 || c == 7717)) : (c <= 7719 || (c < 7725 ? (c < 7723 ? c == 7721 : c <= 7723) : (c <= 7725 || c == 7727)))))) : (c <= 7729 || (c < 7749 ? (c < 7739 ? (c < 7735 ? (c < 7733 ? c == 7731 : c <= 7733) : (c <= 7735 || c == 7737)) : (c <= 7739 || (c < 7745 ? (c < 7743 ? c == 7741 : c <= 7743) : (c <= 7745 || c == 7747)))) : (c <= 7749 || (c < 7759 ? (c < 7755 ? (c < 7753 ? c == 7751 : c <= 7753) : (c <= 7755 || c == 7757)) : (c <= 7759 || (c < 7765 ? (c < 7763 ? c == 7761 : c <= 7763) : (c <= 7765 || c == 7767)))))))))))))) : (c <= 7769 || (c < 11477 ? (c < 7968 ? (c < 7859 ? (c < 7811 ? (c < 7791 ? (c < 7781 ? (c < 7775 ? (c < 7773 ? c == 7771 : c <= 7773) : (c <= 7775 || (c < 7779 ? c == 7777 : c <= 7779))) : (c <= 7781 || (c < 7787 ? (c < 7785 ? c == 7783 : c <= 7785) : (c <= 7787 || c == 7789)))) : (c <= 7791 || (c < 7801 ? (c < 7797 ? (c < 7795 ? c == 7793 : c <= 7795) : (c <= 7797 || c == 7799)) : (c <= 7801 || (c < 7807 ? (c < 7805 ? c == 7803 : c <= 7805) : (c <= 7807 || c == 7809)))))) : (c <= 7811 || (c < 7839 ? (c < 7821 ? (c < 7817 ? (c < 7815 ? c == 7813 : c <= 7815) : (c <= 7817 || c == 7819)) : (c <= 7821 || (c < 7827 ? (c < 7825 ? c == 7823 : c <= 7825) : (c <= 7827 || (c >= 7829 && c <= 7837))))) : (c <= 7839 || (c < 7849 ? (c < 7845 ? (c < 7843 ? c == 7841 : c <= 7843) : (c <= 7845 || c == 7847)) : (c <= 7849 || (c < 7855 ? (c < 7853 ? c == 7851 : c <= 7853) : (c <= 7855 || c == 7857)))))))) : (c <= 7859 || (c < 7899 ? (c < 7879 ? (c < 7869 ? (c < 7865 ? (c < 7863 ? c == 7861 : c <= 7863) : (c <= 7865 || c == 7867)) : (c <= 7869 || (c < 7875 ? (c < 7873 ? c == 7871 : c <= 7873) : (c <= 7875 || c == 7877)))) : (c <= 7879 || (c < 7889 ? (c < 7885 ? (c < 7883 ? c == 7881 : c <= 7883) : (c <= 7885 || c == 7887)) : (c <= 7889 || (c < 7895 ? (c < 7893 ? c == 7891 : c <= 7893) : (c <= 7895 || c == 7897)))))) : (c <= 7899 || (c < 7919 ? (c < 7909 ? (c < 7905 ? (c < 7903 ? c == 7901 : c <= 7903) : (c <= 7905 || c == 7907)) : (c <= 7909 || (c < 7915 ? (c < 7913 ? c == 7911 : c <= 7913) : (c <= 7915 || c == 7917)))) : (c <= 7919 || (c < 7929 ? (c < 7925 ? (c < 7923 ? c == 7921 : c <= 7923) : (c <= 7925 || c == 7927)) : (c <= 7929 || (c < 7935 ? (c < 7933 ? c == 7931 : c <= 7933) : (c <= 7943 || (c >= 7952 && c <= 7957))))))))))) : (c <= 7975 || (c < 11397 ? (c < 8462 ? (c < 8118 ? (c < 8048 ? (c < 8016 ? (c < 8000 ? (c >= 7984 && c <= 7991) : c <= 8005) : (c <= 8023 || (c >= 8032 && c <= 8039))) : (c <= 8061 || (c < 8096 ? (c < 8080 ? (c >= 8064 && c <= 8071) : c <= 8087) : (c <= 8103 || (c >= 8112 && c <= 8116))))) : (c <= 8119 || (c < 8150 ? (c < 8134 ? (c < 8130 ? c == 8126 : c <= 8132) : (c <= 8135 || (c >= 8144 && c <= 8147))) : (c <= 8151 || (c < 8182 ? (c < 8178 ? (c >= 8160 && c <= 8167) : c <= 8180) : (c <= 8183 || c == 8458)))))) : (c <= 8463 || (c < 11361 ? (c < 8508 ? (c < 8500 ? (c < 8495 ? c == 8467 : c <= 8495) : (c <= 8500 || c == 8505)) : (c <= 8509 || (c < 8580 ? (c < 8526 ? (c >= 8518 && c <= 8521) : c <= 8526) : (c <= 8580 || (c >= 11312 && c <= 11358))))) : (c <= 11361 || (c < 11377 ? (c < 11370 ? (c < 11368 ? (c >= 11365 && c <= 11366) : c <= 11368) : (c <= 11370 || c == 11372)) : (c <= 11377 || (c < 11393 ? (c < 11382 ? (c >= 11379 && c <= 11380) : c <= 11387) : (c <= 11393 || c == 11395)))))))) : (c <= 11397 || (c < 11437 ? (c < 11417 ? (c < 11407 ? (c < 11403 ? (c < 11401 ? c == 11399 : c <= 11401) : (c <= 11403 || c == 11405)) : (c <= 11407 || (c < 11413 ? (c < 11411 ? c == 11409 : c <= 11411) : (c <= 11413 || c == 11415)))) : (c <= 11417 || (c < 11427 ? (c < 11423 ? (c < 11421 ? c == 11419 : c <= 11421) : (c <= 11423 || c == 11425)) : (c <= 11427 || (c < 11433 ? (c < 11431 ? c == 11429 : c <= 11431) : (c <= 11433 || c == 11435)))))) : (c <= 11437 || (c < 11457 ? (c < 11447 ? (c < 11443 ? (c < 11441 ? c == 11439 : c <= 11441) : (c <= 11443 || c == 11445)) : (c <= 11447 || (c < 11453 ? (c < 11451 ? c == 11449 : c <= 11451) : (c <= 11453 || c == 11455)))) : (c <= 11457 || (c < 11467 ? (c < 11463 ? (c < 11461 ? c == 11459 : c <= 11461) : (c <= 11463 || c == 11465)) : (c <= 11467 || (c < 11473 ? (c < 11471 ? c == 11469 : c <= 11471) : (c <= 11473 || c == 11475)))))))))))) : (c <= 11477 || (c < 42847 ? (c < 42631 ? (c < 42573 ? (c < 11507 ? (c < 11487 ? (c < 11483 ? (c < 11481 ? c == 11479 : c <= 11481) : (c <= 11483 || c == 11485)) : (c <= 11487 || (c < 11500 ? (c < 11491 ? c == 11489 : c <= 11492) : (c <= 11500 || c == 11502)))) : (c <= 11507 || (c < 42563 ? (c < 11565 ? (c < 11559 ? (c >= 11520 && c <= 11557) : c <= 11559) : (c <= 11565 || c == 42561)) : (c <= 42563 || (c < 42569 ? (c < 42567 ? c == 42565 : c <= 42567) : (c <= 42569 || c == 42571)))))) : (c <= 42573 || (c < 42593 ? (c < 42583 ? (c < 42579 ? (c < 42577 ? c == 42575 : c <= 42577) : (c <= 42579 || c == 42581)) : (c <= 42583 || (c < 42589 ? (c < 42587 ? c == 42585 : c <= 42587) : (c <= 42589 || c == 42591)))) : (c <= 42593 || (c < 42603 ? (c < 42599 ? (c < 42597 ? c == 42595 : c <= 42597) : (c <= 42599 || c == 42601)) : (c <= 42603 || (c < 42627 ? (c < 42625 ? c == 42605 : c <= 42625) : (c <= 42627 || c == 42629)))))))) : (c <= 42631 || (c < 42807 ? (c < 42651 ? (c < 42641 ? (c < 42637 ? (c < 42635 ? c == 42633 : c <= 42635) : (c <= 42637 || c == 42639)) : (c <= 42641 || (c < 42647 ? (c < 42645 ? c == 42643 : c <= 42645) : (c <= 42647 || c == 42649)))) : (c <= 42651 || (c < 42795 ? (c < 42791 ? (c < 42789 ? c == 42787 : c <= 42789) : (c <= 42791 || c == 42793)) : (c <= 42795 || (c < 42803 ? (c < 42799 ? c == 42797 : c <= 42801) : (c <= 42803 || c == 42805)))))) : (c <= 42807 || (c < 42827 ? (c < 42817 ? (c < 42813 ? (c < 42811 ? c == 42809 : c <= 42811) : (c <= 42813 || c == 42815)) : (c <= 42817 || (c < 42823 ? (c < 42821 ? c == 42819 : c <= 42821) : (c <= 42823 || c == 42825)))) : (c <= 42827 || (c < 42837 ? (c < 42833 ? (c < 42831 ? c == 42829 : c <= 42831) : (c <= 42833 || c == 42835)) : (c <= 42837 || (c < 42843 ? (c < 42841 ? c == 42839 : c <= 42841) : (c <= 42843 || c == 42845)))))))))) : (c <= 42847 || (c < 43824 ? (c < 42899 ? (c < 42874 ? (c < 42857 ? (c < 42853 ? (c < 42851 ? c == 42849 : c <= 42851) : (c <= 42853 || c == 42855)) : (c <= 42857 || (c < 42863 ? (c < 42861 ? c == 42859 : c <= 42861) : (c <= 42863 || (c >= 42865 && c <= 42872))))) : (c <= 42874 || (c < 42885 ? (c < 42881 ? (c < 42879 ? c == 42876 : c <= 42879) : (c <= 42881 || c == 42883)) : (c <= 42885 || (c < 42894 ? (c < 42892 ? c == 42887 : c <= 42892) : (c <= 42894 || c == 42897)))))) : (c <= 42901 || (c < 42921 ? (c < 42911 ? (c < 42907 ? (c < 42905 ? c == 42903 : c <= 42905) : (c <= 42907 || c == 42909)) : (c <= 42911 || (c < 42917 ? (c < 42915 ? c == 42913 : c <= 42915) : (c <= 42917 || c == 42919)))) : (c <= 42921 || (c < 42939 ? (c < 42935 ? (c < 42933 ? c == 42927 : c <= 42933) : (c <= 42935 || c == 42937)) : (c <= 42939 || (c < 42947 ? (c < 42943 ? c == 42941 : c <= 42943) : (c <= 42947 || c == 43002)))))))) : (c <= 43866 || (c < 120094 ? (c < 93792 ? (c < 65345 ? (c < 64256 ? (c < 43888 ? (c >= 43872 && c <= 43879) : c <= 43967) : (c <= 64262 || (c >= 64275 && c <= 64279))) : (c <= 65370 || (c < 68800 ? (c < 66776 ? (c >= 66600 && c <= 66639) : c <= 66811) : (c <= 68850 || (c >= 71872 && c <= 71903))))) : (c <= 93823 || (c < 119990 ? (c < 119894 ? (c < 119886 ? (c >= 119834 && c <= 119859) : c <= 119892) : (c <= 119911 || (c >= 119938 && c <= 119963))) : (c <= 119993 || (c < 120005 ? (c < 119997 ? c == 119995 : c <= 120003) : (c <= 120015 || (c >= 120042 && c <= 120067))))))) : (c <= 120119 || (c < 120572 ? (c < 120354 ? (c < 120250 ? (c < 120198 ? (c >= 120146 && c <= 120171) : c <= 120223) : (c <= 120275 || (c >= 120302 && c <= 120327))) : (c <= 120379 || (c < 120514 ? (c < 120458 ? (c >= 120406 && c <= 120431) : c <= 120485) : (c <= 120538 || (c >= 120540 && c <= 120545))))) : (c <= 120596 || (c < 120714 ? (c < 120656 ? (c < 120630 ? (c >= 120598 && c <= 120603) : c <= 120654) : (c <= 120661 || (c >= 120688 && c <= 120712))) : (c <= 120719 || (c < 120779 ? (c < 120772 ? (c >= 120746 && c <= 120770) : c <= 120777) : (c <= 120779 || (c >= 125218 && c <= 125251))))))))))))))))); } static inline bool sym_lower_case_identifier_character_set_3(int32_t c) { return (c < 8526 ? (c < 7531 ? (c < 887 ? (c < 454 ? (c < 223 ? (c < 181 ? (c >= 'a' && c <= 'z') : c <= 181) : (c <= 246 || (c < 445 ? (c >= 248 && c <= 442) : c <= 447))) : (c <= 454 || (c < 499 ? (c < 460 ? c == 457 : c <= 496) : (c <= 659 || (c < 881 ? (c >= 661 && c <= 687) : c <= 883))))) : (c <= 887 || (c < 1376 ? (c < 940 ? (c < 912 ? (c >= 891 && c <= 893) : c <= 912) : (c <= 1013 || (c < 1163 ? (c >= 1016 && c <= 1153) : c <= 1327))) : (c <= 1416 || (c < 5112 ? (c < 4349 ? (c >= 4304 && c <= 4346) : c <= 4351) : (c <= 5117 || (c < 7424 ? (c >= 7296 && c <= 7304) : c <= 7467))))))) : (c <= 7543 || (c < 8130 ? (c < 8064 ? (c < 7968 ? (c < 7681 ? (c >= 7545 && c <= 7578) : c <= 7957) : (c <= 8005 || (c < 8032 ? (c >= 8016 && c <= 8023) : c <= 8061))) : (c <= 8071 || (c < 8112 ? (c < 8096 ? (c >= 8080 && c <= 8087) : c <= 8103) : (c <= 8116 || (c < 8126 ? (c >= 8118 && c <= 8119) : c <= 8126))))) : (c <= 8132 || (c < 8182 ? (c < 8150 ? (c < 8144 ? (c >= 8134 && c <= 8135) : c <= 8147) : (c <= 8151 || (c < 8178 ? (c >= 8160 && c <= 8167) : c <= 8180))) : (c <= 8183 || (c < 8505 ? (c < 8495 ? (c >= 8458 && c <= 8467) : c <= 8500) : (c <= 8505 || (c < 8518 ? (c >= 8508 && c <= 8509) : c <= 8521))))))))) : (c <= 8526 || (c < 66600 ? (c < 42787 ? (c < 11507 ? (c < 11361 ? (c < 11312 ? c == 8580 : c <= 11358) : (c <= 11387 || (c < 11500 ? (c >= 11393 && c <= 11492) : c <= 11502))) : (c <= 11507 || (c < 11565 ? (c < 11559 ? (c >= 11520 && c <= 11557) : c <= 11559) : (c <= 11565 || (c < 42625 ? (c >= 42561 && c <= 42605) : c <= 42651))))) : (c <= 42863 || (c < 43824 ? (c < 42897 ? (c < 42892 ? (c >= 42865 && c <= 42887) : c <= 42894) : (c <= 42943 || (c < 43002 ? c == 42947 : c <= 43002))) : (c <= 43866 || (c < 64256 ? (c < 43888 ? (c >= 43872 && c <= 43879) : c <= 43967) : (c <= 64262 || (c < 65345 ? (c >= 64275 && c <= 64279) : c <= 65370))))))) : (c <= 66639 || (c < 120146 ? (c < 119894 ? (c < 71872 ? (c < 68800 ? (c >= 66776 && c <= 66811) : c <= 68850) : (c <= 71903 || (c < 119834 ? (c >= 93792 && c <= 93823) : c <= 119892))) : (c <= 119963 || (c < 119997 ? (c < 119995 ? (c >= 119990 && c <= 119993) : c <= 119995) : (c <= 120003 || (c < 120094 ? (c >= 120005 && c <= 120067) : c <= 120119))))) : (c <= 120485 || (c < 120656 ? (c < 120572 ? (c < 120540 ? (c >= 120514 && c <= 120538) : c <= 120545) : (c <= 120596 || (c < 120630 ? (c >= 120598 && c <= 120603) : c <= 120654))) : (c <= 120661 || (c < 120746 ? (c < 120714 ? (c >= 120688 && c <= 120712) : c <= 120719) : (c <= 120770 || (c < 125218 ? (c >= 120772 && c <= 120779) : c <= 125251))))))))))); } static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(72); if (lookahead == '"') ADVANCE(101); if (lookahead == '&') ADVANCE(29); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(135); if (lookahead == '.') ADVANCE(84); if (lookahead == '/') ADVANCE(138); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(127); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(125); if (lookahead == '>') ADVANCE(144); if (lookahead == '[') ADVANCE(106); if (lookahead == '\\') ADVANCE(2); if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '_') ADVANCE(129); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(86); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(69) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym__upper_case_identifier_without_leading_whitespace_character_set_1(lookahead)) ADVANCE(81); if (sym_lower_case_identifier_character_set_1(lookahead)) ADVANCE(112); END_STATE(); case 1: if (lookahead == '\n') SKIP(15) END_STATE(); case 2: if (lookahead == '\n') SKIP(15) if (lookahead == '\r') SKIP(1) if (lookahead == 'u') ADVANCE(46); if (lookahead == '"' || lookahead == '\'' || lookahead == '\\' || lookahead == 'n' || lookahead == 'r' || lookahead == 't') ADVANCE(118); END_STATE(); case 3: if (lookahead == '\n') SKIP(26) END_STATE(); case 4: if (lookahead == '\n') SKIP(26) if (lookahead == '\r') SKIP(3) END_STATE(); case 5: if (lookahead == '\n') SKIP(28) END_STATE(); case 6: if (lookahead == '\n') SKIP(28) if (lookahead == '\r') SKIP(5) END_STATE(); case 7: if (lookahead == '\n') SKIP(24) END_STATE(); case 8: if (lookahead == '\n') SKIP(24) if (lookahead == '\r') SKIP(7) END_STATE(); case 9: if (lookahead == '\n') SKIP(20) if (lookahead == '"') ADVANCE(100); if (lookahead == '-') ADVANCE(103); if (lookahead == '\\') ADVANCE(10); if (lookahead == '{') ADVANCE(103); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(102); if (lookahead != 0) ADVANCE(104); END_STATE(); case 10: if (lookahead == '\n') ADVANCE(121); if (lookahead == '\r') ADVANCE(119); if (lookahead == 'u') ADVANCE(122); if (lookahead == '"' || lookahead == '\'' || lookahead == '\\' || lookahead == 'n' || lookahead == 'r' || lookahead == 't') ADVANCE(118); if (lookahead != 0) ADVANCE(119); END_STATE(); case 11: if (lookahead == '\n') SKIP(34) END_STATE(); case 12: if (lookahead == '\n') SKIP(34) if (lookahead == '\r') SKIP(11) END_STATE(); case 13: if (lookahead == '\n') SKIP(13) if (lookahead == '-') ADVANCE(91); if (lookahead == '\\') ADVANCE(14); if (lookahead == '{') ADVANCE(92); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(93); if (lookahead != 0 && lookahead != '\'') ADVANCE(90); END_STATE(); case 14: if (lookahead == '\n') ADVANCE(120); if (lookahead == '\r') ADVANCE(119); if (lookahead == 'u') ADVANCE(122); if (lookahead == '"' || lookahead == '\'' || lookahead == '\\' || lookahead == 'n' || lookahead == 'r' || lookahead == 't') ADVANCE(118); if (lookahead != 0) ADVANCE(119); END_STATE(); case 15: if (lookahead == '"') ADVANCE(101); if (lookahead == '&') ADVANCE(29); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(135); if (lookahead == '.') ADVANCE(131); if (lookahead == '/') ADVANCE(138); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(127); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(125); if (lookahead == '>') ADVANCE(144); if (lookahead == '[') ADVANCE(106); if (lookahead == '\\') ADVANCE(2); if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '_') ADVANCE(129); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(86); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(15) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym_lower_case_identifier_character_set_2(lookahead)) ADVANCE(112); END_STATE(); case 16: if (lookahead == '"') ADVANCE(101); if (lookahead == '&') ADVANCE(29); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(136); if (lookahead == '.') ADVANCE(83); if (lookahead == '/') ADVANCE(138); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(40); if (lookahead == '>') ADVANCE(144); if (lookahead == '[') ADVANCE(106); if (lookahead == '\\') ADVANCE(128); if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(38); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(17) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 17: if (lookahead == '"') ADVANCE(101); if (lookahead == '&') ADVANCE(29); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(136); if (lookahead == '.') ADVANCE(130); if (lookahead == '/') ADVANCE(138); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(40); if (lookahead == '>') ADVANCE(144); if (lookahead == '[') ADVANCE(106); if (lookahead == '\\') ADVANCE(128); if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(38); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(17) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 18: if (lookahead == '"') ADVANCE(94); END_STATE(); case 19: if (lookahead == '"') ADVANCE(94); if (lookahead != 0) ADVANCE(99); END_STATE(); case 20: if (lookahead == '"') ADVANCE(100); if (lookahead == '-') ADVANCE(30); if (lookahead == '\\') ADVANCE(10); if (lookahead == '{') ADVANCE(32); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(20) END_STATE(); case 21: if (lookahead == '"') ADVANCE(23); if (lookahead == '-') ADVANCE(98); if (lookahead == '\\') ADVANCE(10); if (lookahead == '{') ADVANCE(97); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(96); if (lookahead != 0) ADVANCE(99); END_STATE(); case 22: if (lookahead == '"') ADVANCE(66); if (lookahead != 0) ADVANCE(99); END_STATE(); case 23: if (lookahead == '"') ADVANCE(19); if (lookahead != 0) ADVANCE(99); END_STATE(); case 24: if (lookahead == '&') ADVANCE(29); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(133); if (lookahead == '.') ADVANCE(36); if (lookahead == '/') ADVANCE(138); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(125); if (lookahead == '>') ADVANCE(144); if (lookahead == '\\') SKIP(8) if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(32); if (lookahead == '|') ADVANCE(38); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(24) if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 25: if (lookahead == '&') ADVANCE(29); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == '-') ADVANCE(134); if (lookahead == '.') ADVANCE(83); if (lookahead == '/') ADVANCE(138); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(40); if (lookahead == '>') ADVANCE(144); if (lookahead == '\\') SKIP(4) if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(26) if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 26: if (lookahead == '&') ADVANCE(29); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == '-') ADVANCE(134); if (lookahead == '/') ADVANCE(138); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(40); if (lookahead == '>') ADVANCE(144); if (lookahead == '\\') SKIP(4) if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(37); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(26) if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 27: if (lookahead == '&') ADVANCE(29); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(133); if (lookahead == '.') ADVANCE(83); if (lookahead == '/') ADVANCE(138); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(40); if (lookahead == '>') ADVANCE(144); if (lookahead == '\\') SKIP(6) if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(32); if (lookahead == '|') ADVANCE(38); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(28) if (sym_lower_case_identifier_character_set_2(lookahead)) ADVANCE(112); END_STATE(); case 28: if (lookahead == '&') ADVANCE(29); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(133); if (lookahead == '/') ADVANCE(138); if (lookahead == ':') ADVANCE(39); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(40); if (lookahead == '>') ADVANCE(144); if (lookahead == '\\') SKIP(6) if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '{') ADVANCE(32); if (lookahead == '|') ADVANCE(38); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(28) if (sym_lower_case_identifier_character_set_2(lookahead)) ADVANCE(112); END_STATE(); case 29: if (lookahead == '&') ADVANCE(147); END_STATE(); case 30: if (lookahead == '-') ADVANCE(77); END_STATE(); case 31: if (lookahead == '-') ADVANCE(77); if (lookahead == '>') ADVANCE(126); if (lookahead == '}') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 32: if (lookahead == '-') ADVANCE(73); END_STATE(); case 33: if (lookahead == '-') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 34: if (lookahead == '-') ADVANCE(30); if (lookahead == '\\') SKIP(12) if (lookahead == '{') ADVANCE(32); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(34) END_STATE(); case 35: if (lookahead == '-') ADVANCE(30); if (lookahead == '\\') SKIP(12) if (lookahead == '{') ADVANCE(32); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(34) if (sym__upper_case_identifier_without_leading_whitespace_character_set_1(lookahead)) ADVANCE(81); if (sym__lower_case_identifier_without_leading_whitespace_character_set_1(lookahead)) ADVANCE(82); END_STATE(); case 36: if (lookahead == '.') ADVANCE(123); END_STATE(); case 37: if (lookahead == '.') ADVANCE(156); if (lookahead == '=') ADVANCE(157); if (lookahead == '>') ADVANCE(151); if (lookahead == ']') ADVANCE(110); if (lookahead == '|') ADVANCE(148); END_STATE(); case 38: if (lookahead == '.') ADVANCE(156); if (lookahead == '=') ADVANCE(157); if (lookahead == '>') ADVANCE(151); if (lookahead == '|') ADVANCE(148); END_STATE(); case 39: if (lookahead == ':') ADVANCE(108); END_STATE(); case 40: if (lookahead == '=') ADVANCE(141); END_STATE(); case 41: if (lookahead == '>') ADVANCE(154); END_STATE(); case 42: if (lookahead == '>') ADVANCE(155); END_STATE(); case 43: if (lookahead == 'l') ADVANCE(45); END_STATE(); case 44: if (lookahead == 'l') ADVANCE(47); END_STATE(); case 45: if (lookahead == 's') ADVANCE(44); END_STATE(); case 46: if (lookahead == '{') ADVANCE(65); END_STATE(); case 47: if (lookahead == '|') ADVANCE(109); END_STATE(); case 48: if (lookahead == '}') ADVANCE(118); END_STATE(); case 49: if (lookahead == '}') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(48); END_STATE(); case 50: if (lookahead == '}') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(49); END_STATE(); case 51: if (lookahead == '}') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(53); if (lookahead != 0) ADVANCE(58); END_STATE(); case 52: if (lookahead == '}') ADVANCE(118); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(51); if (lookahead != 0) ADVANCE(58); END_STATE(); case 53: if (lookahead == '}') ADVANCE(118); if (lookahead != 0) ADVANCE(58); END_STATE(); case 54: if (lookahead == '}') ADVANCE(119); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(52); if (lookahead != 0) ADVANCE(58); END_STATE(); case 55: if (lookahead == '}') ADVANCE(119); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(54); if (lookahead != 0) ADVANCE(58); END_STATE(); case 56: if (lookahead == '}') ADVANCE(119); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(55); if (lookahead != 0) ADVANCE(58); END_STATE(); case 57: if (lookahead == '}') ADVANCE(119); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(56); if (lookahead != 0) ADVANCE(58); END_STATE(); case 58: if (lookahead == '}') ADVANCE(119); if (lookahead != 0) ADVANCE(58); END_STATE(); case 59: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 60: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 61: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); END_STATE(); case 62: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(50); END_STATE(); case 63: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(62); END_STATE(); case 64: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(63); END_STATE(); case 65: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(64); END_STATE(); case 66: if (lookahead != 0 && lookahead != '"') ADVANCE(99); END_STATE(); case 67: if (eof) ADVANCE(72); if (lookahead == '\n') SKIP(71) END_STATE(); case 68: if (eof) ADVANCE(72); if (lookahead == '\n') SKIP(71) if (lookahead == '\r') SKIP(67) END_STATE(); case 69: if (eof) ADVANCE(72); if (lookahead == '"') ADVANCE(101); if (lookahead == '&') ADVANCE(29); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == '*') ADVANCE(137); if (lookahead == '+') ADVANCE(132); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(135); if (lookahead == '.') ADVANCE(131); if (lookahead == '/') ADVANCE(138); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(127); if (lookahead == '<') ADVANCE(143); if (lookahead == '=') ADVANCE(125); if (lookahead == '>') ADVANCE(144); if (lookahead == '[') ADVANCE(106); if (lookahead == '\\') ADVANCE(2); if (lookahead == ']') ADVANCE(107); if (lookahead == '^') ADVANCE(140); if (lookahead == '_') ADVANCE(129); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(86); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(69) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym_lower_case_identifier_character_set_2(lookahead)) ADVANCE(112); END_STATE(); case 70: if (eof) ADVANCE(72); if (lookahead == '"') ADVANCE(101); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(31); if (lookahead == '.') ADVANCE(83); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(127); if (lookahead == '=') ADVANCE(124); if (lookahead == '[') ADVANCE(105); if (lookahead == '\\') SKIP(68) if (lookahead == ']') ADVANCE(107); if (lookahead == '_') ADVANCE(129); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(85); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(71) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 71: if (eof) ADVANCE(72); if (lookahead == '"') ADVANCE(101); if (lookahead == '\'') ADVANCE(89); if (lookahead == '(') ADVANCE(78); if (lookahead == ')') ADVANCE(80); if (lookahead == ',') ADVANCE(79); if (lookahead == '-') ADVANCE(31); if (lookahead == '0') ADVANCE(113); if (lookahead == ':') ADVANCE(127); if (lookahead == '=') ADVANCE(124); if (lookahead == '[') ADVANCE(105); if (lookahead == '\\') SKIP(68) if (lookahead == ']') ADVANCE(107); if (lookahead == '_') ADVANCE(129); if (lookahead == '{') ADVANCE(87); if (lookahead == '|') ADVANCE(85); if (lookahead == '}') ADVANCE(88); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(71) if (('1' <= lookahead && lookahead <= '9')) ADVANCE(114); if (sym_upper_case_identifier_character_set_1(lookahead)) ADVANCE(111); if (sym_lower_case_identifier_character_set_3(lookahead)) ADVANCE(112); END_STATE(); case 72: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 73: ACCEPT_TOKEN(anon_sym_LBRACE_DASH); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_DASH_RBRACE); END_STATE(); case 75: ACCEPT_TOKEN(sym_line_comment); if (lookahead == '\n') ADVANCE(99); if (lookahead == '"') ADVANCE(77); if (lookahead != 0) ADVANCE(95); END_STATE(); case 76: ACCEPT_TOKEN(sym_line_comment); if (lookahead == '\n') ADVANCE(99); if (lookahead == '"') ADVANCE(75); if (lookahead != 0) ADVANCE(95); END_STATE(); case 77: ACCEPT_TOKEN(sym_line_comment); if (lookahead != 0 && lookahead != '\n') ADVANCE(77); END_STATE(); case 78: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 79: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 80: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 81: ACCEPT_TOKEN(sym__upper_case_identifier_without_leading_whitespace); if (sym__upper_case_identifier_without_leading_whitespace_character_set_2(lookahead)) ADVANCE(81); END_STATE(); case 82: ACCEPT_TOKEN(sym__lower_case_identifier_without_leading_whitespace); if (sym__upper_case_identifier_without_leading_whitespace_character_set_2(lookahead)) ADVANCE(82); END_STATE(); case 83: ACCEPT_TOKEN(sym__dot_without_leading_whitespace); END_STATE(); case 84: ACCEPT_TOKEN(sym__dot_without_leading_whitespace); if (lookahead == '.') ADVANCE(123); END_STATE(); case 85: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 86: ACCEPT_TOKEN(anon_sym_PIPE); if (lookahead == '.') ADVANCE(156); if (lookahead == '=') ADVANCE(157); if (lookahead == '>') ADVANCE(151); if (lookahead == ']') ADVANCE(110); if (lookahead == '|') ADVANCE(148); END_STATE(); case 87: ACCEPT_TOKEN(anon_sym_LBRACE); if (lookahead == '-') ADVANCE(73); END_STATE(); case 88: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_SQUOTE); END_STATE(); case 90: ACCEPT_TOKEN(aux_sym_char_constant_expr_token1); END_STATE(); case 91: ACCEPT_TOKEN(aux_sym_char_constant_expr_token1); if (lookahead == '-') ADVANCE(77); END_STATE(); case 92: ACCEPT_TOKEN(aux_sym_char_constant_expr_token1); if (lookahead == '-') ADVANCE(73); END_STATE(); case 93: ACCEPT_TOKEN(aux_sym_char_constant_expr_token1); if (lookahead == '-') ADVANCE(91); if (lookahead == '\\') ADVANCE(14); if (lookahead == '{') ADVANCE(92); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(93); if (lookahead != 0 && lookahead != '\n' && lookahead != '\'') ADVANCE(90); END_STATE(); case 94: ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE_DQUOTE); END_STATE(); case 95: ACCEPT_TOKEN(aux_sym_string_constant_expr_token1); if (lookahead == '\n') ADVANCE(99); if (lookahead == '"') ADVANCE(76); if (lookahead != 0 && lookahead != '\\') ADVANCE(95); END_STATE(); case 96: ACCEPT_TOKEN(aux_sym_string_constant_expr_token1); if (lookahead == '"') ADVANCE(23); if (lookahead == '-') ADVANCE(98); if (lookahead == '{') ADVANCE(97); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(96); if (lookahead != 0 && lookahead != '\\') ADVANCE(99); END_STATE(); case 97: ACCEPT_TOKEN(aux_sym_string_constant_expr_token1); if (lookahead == '"') ADVANCE(22); if (lookahead == '-') ADVANCE(99); if (lookahead != 0 && lookahead != '\\') ADVANCE(99); END_STATE(); case 98: ACCEPT_TOKEN(aux_sym_string_constant_expr_token1); if (lookahead == '"') ADVANCE(22); if (lookahead == '-') ADVANCE(95); if (lookahead != 0 && lookahead != '\\') ADVANCE(99); END_STATE(); case 99: ACCEPT_TOKEN(aux_sym_string_constant_expr_token1); if (lookahead == '"') ADVANCE(22); if (lookahead != 0 && lookahead != '\\') ADVANCE(99); END_STATE(); case 100: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 101: ACCEPT_TOKEN(anon_sym_DQUOTE); if (lookahead == '"') ADVANCE(18); END_STATE(); case 102: ACCEPT_TOKEN(aux_sym_string_constant_expr_token2); if (lookahead == '-') ADVANCE(103); if (lookahead == '{') ADVANCE(103); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(102); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(104); END_STATE(); case 103: ACCEPT_TOKEN(aux_sym_string_constant_expr_token2); if (lookahead == '-') ADVANCE(104); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(104); END_STATE(); case 104: ACCEPT_TOKEN(aux_sym_string_constant_expr_token2); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && lookahead != '\\') ADVANCE(104); END_STATE(); case 105: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 106: ACCEPT_TOKEN(anon_sym_LBRACK); if (lookahead == 'g') ADVANCE(43); END_STATE(); case 107: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_COLON_COLON); END_STATE(); case 109: ACCEPT_TOKEN(sym__glsl_begin); END_STATE(); case 110: ACCEPT_TOKEN(sym__glsl_end); END_STATE(); case 111: ACCEPT_TOKEN(sym_upper_case_identifier); if (sym_upper_case_identifier_character_set_2(lookahead)) ADVANCE(111); END_STATE(); case 112: ACCEPT_TOKEN(sym_lower_case_identifier); if (sym_upper_case_identifier_character_set_2(lookahead)) ADVANCE(112); END_STATE(); case 113: ACCEPT_TOKEN(sym_number_literal); if (lookahead == '.') ADVANCE(59); if (lookahead == 'e') ADVANCE(33); if (lookahead == 'x') ADVANCE(61); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 114: ACCEPT_TOKEN(sym_number_literal); if (lookahead == '.') ADVANCE(59); if (lookahead == 'e') ADVANCE(33); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 115: ACCEPT_TOKEN(sym_number_literal); if (lookahead == 'e') ADVANCE(33); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 116: ACCEPT_TOKEN(sym_number_literal); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 117: ACCEPT_TOKEN(sym_number_literal); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); END_STATE(); case 118: ACCEPT_TOKEN(sym_string_escape); END_STATE(); case 119: ACCEPT_TOKEN(sym_invalid_string_escape); END_STATE(); case 120: ACCEPT_TOKEN(sym_invalid_string_escape); if (lookahead == '-') ADVANCE(91); if (lookahead == '\\') ADVANCE(14); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) ADVANCE(93); END_STATE(); case 121: ACCEPT_TOKEN(sym_invalid_string_escape); if (lookahead == '-') ADVANCE(30); if (lookahead == '\\') ADVANCE(10); END_STATE(); case 122: ACCEPT_TOKEN(sym_invalid_string_escape); if (lookahead == '{') ADVANCE(57); END_STATE(); case 123: ACCEPT_TOKEN(sym_double_dot); END_STATE(); case 124: ACCEPT_TOKEN(sym_eq); END_STATE(); case 125: ACCEPT_TOKEN(sym_eq); if (lookahead == '=') ADVANCE(141); END_STATE(); case 126: ACCEPT_TOKEN(sym_arrow); END_STATE(); case 127: ACCEPT_TOKEN(sym_colon); if (lookahead == ':') ADVANCE(108); END_STATE(); case 128: ACCEPT_TOKEN(sym_backslash); END_STATE(); case 129: ACCEPT_TOKEN(sym_underscore); END_STATE(); case 130: ACCEPT_TOKEN(sym_dot); END_STATE(); case 131: ACCEPT_TOKEN(sym_dot); if (lookahead == '.') ADVANCE(123); END_STATE(); case 132: ACCEPT_TOKEN(anon_sym_PLUS); if (lookahead == '+') ADVANCE(149); END_STATE(); case 133: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '-') ADVANCE(77); END_STATE(); case 134: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '-') ADVANCE(77); if (lookahead == '>') ADVANCE(126); END_STATE(); case 135: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '-') ADVANCE(77); if (lookahead == '>') ADVANCE(126); if (lookahead == '}') ADVANCE(74); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 136: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '-') ADVANCE(77); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 137: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 138: ACCEPT_TOKEN(anon_sym_SLASH); if (lookahead == '/') ADVANCE(139); if (lookahead == '=') ADVANCE(142); END_STATE(); case 139: ACCEPT_TOKEN(anon_sym_SLASH_SLASH); END_STATE(); case 140: ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 141: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 142: ACCEPT_TOKEN(anon_sym_SLASH_EQ); END_STATE(); case 143: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '/') ADVANCE(41); if (lookahead == '<') ADVANCE(152); if (lookahead == '=') ADVANCE(145); if (lookahead == '?') ADVANCE(42); if (lookahead == '|') ADVANCE(150); END_STATE(); case 144: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '=') ADVANCE(146); if (lookahead == '>') ADVANCE(153); END_STATE(); case 145: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 146: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 147: ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 148: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 149: ACCEPT_TOKEN(anon_sym_PLUS_PLUS); END_STATE(); case 150: ACCEPT_TOKEN(anon_sym_LT_PIPE); END_STATE(); case 151: ACCEPT_TOKEN(anon_sym_PIPE_GT); END_STATE(); case 152: ACCEPT_TOKEN(anon_sym_LT_LT); END_STATE(); case 153: ACCEPT_TOKEN(anon_sym_GT_GT); END_STATE(); case 154: ACCEPT_TOKEN(anon_sym_LT_SLASH_GT); END_STATE(); case 155: ACCEPT_TOKEN(anon_sym_LT_QMARK_GT); END_STATE(); case 156: ACCEPT_TOKEN(anon_sym_PIPE_DOT); END_STATE(); case 157: ACCEPT_TOKEN(anon_sym_PIPE_EQ); 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 == '\\') SKIP(1) if (lookahead == 'a') ADVANCE(2); if (lookahead == 'c') ADVANCE(3); if (lookahead == 'e') ADVANCE(4); if (lookahead == 'i') ADVANCE(5); if (lookahead == 'l') ADVANCE(6); if (lookahead == 'm') ADVANCE(7); if (lookahead == 'n') ADVANCE(8); if (lookahead == 'o') ADVANCE(9); if (lookahead == 'p') ADVANCE(10); if (lookahead == 'r') ADVANCE(11); if (lookahead == 't') ADVANCE(12); if (lookahead == 'w') ADVANCE(13); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ' || lookahead == 8203 || lookahead == 8288 || lookahead == 65279) SKIP(0) END_STATE(); case 1: if (lookahead == '\n') SKIP(0) if (lookahead == '\r') SKIP(14) END_STATE(); case 2: if (lookahead == 'l') ADVANCE(15); if (lookahead == 's') ADVANCE(16); END_STATE(); case 3: if (lookahead == 'a') ADVANCE(17); END_STATE(); case 4: if (lookahead == 'f') ADVANCE(18); if (lookahead == 'l') ADVANCE(19); if (lookahead == 'x') ADVANCE(20); END_STATE(); case 5: if (lookahead == 'f') ADVANCE(21); if (lookahead == 'm') ADVANCE(22); if (lookahead == 'n') ADVANCE(23); END_STATE(); case 6: if (lookahead == 'e') ADVANCE(24); END_STATE(); case 7: if (lookahead == 'o') ADVANCE(25); END_STATE(); case 8: if (lookahead == 'o') ADVANCE(26); END_STATE(); case 9: if (lookahead == 'f') ADVANCE(27); END_STATE(); case 10: if (lookahead == 'o') ADVANCE(28); END_STATE(); case 11: if (lookahead == 'i') ADVANCE(29); END_STATE(); case 12: if (lookahead == 'h') ADVANCE(30); if (lookahead == 'y') ADVANCE(31); END_STATE(); case 13: if (lookahead == 'h') ADVANCE(32); END_STATE(); case 14: if (lookahead == '\n') SKIP(0) END_STATE(); case 15: if (lookahead == 'i') ADVANCE(33); END_STATE(); case 16: ACCEPT_TOKEN(sym_as); END_STATE(); case 17: if (lookahead == 's') ADVANCE(34); END_STATE(); case 18: if (lookahead == 'f') ADVANCE(35); END_STATE(); case 19: if (lookahead == 's') ADVANCE(36); END_STATE(); case 20: if (lookahead == 'p') ADVANCE(37); END_STATE(); case 21: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 22: if (lookahead == 'p') ADVANCE(38); END_STATE(); case 23: ACCEPT_TOKEN(anon_sym_in); if (lookahead == 'f') ADVANCE(39); END_STATE(); case 24: if (lookahead == 'f') ADVANCE(40); if (lookahead == 't') ADVANCE(41); END_STATE(); case 25: if (lookahead == 'd') ADVANCE(42); END_STATE(); case 26: if (lookahead == 'n') ADVANCE(43); END_STATE(); case 27: ACCEPT_TOKEN(sym_of); END_STATE(); case 28: if (lookahead == 'r') ADVANCE(44); END_STATE(); case 29: if (lookahead == 'g') ADVANCE(45); END_STATE(); case 30: if (lookahead == 'e') ADVANCE(46); END_STATE(); case 31: if (lookahead == 'p') ADVANCE(47); END_STATE(); case 32: if (lookahead == 'e') ADVANCE(48); END_STATE(); case 33: if (lookahead == 'a') ADVANCE(49); END_STATE(); case 34: if (lookahead == 'e') ADVANCE(50); END_STATE(); case 35: if (lookahead == 'e') ADVANCE(51); END_STATE(); case 36: if (lookahead == 'e') ADVANCE(52); END_STATE(); case 37: if (lookahead == 'o') ADVANCE(53); END_STATE(); case 38: if (lookahead == 'o') ADVANCE(54); END_STATE(); case 39: if (lookahead == 'i') ADVANCE(55); END_STATE(); case 40: if (lookahead == 't') ADVANCE(56); END_STATE(); case 41: ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 42: if (lookahead == 'u') ADVANCE(57); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_non); END_STATE(); case 44: if (lookahead == 't') ADVANCE(58); END_STATE(); case 45: if (lookahead == 'h') ADVANCE(59); END_STATE(); case 46: if (lookahead == 'n') ADVANCE(60); END_STATE(); case 47: if (lookahead == 'e') ADVANCE(61); END_STATE(); case 48: if (lookahead == 'r') ADVANCE(62); END_STATE(); case 49: if (lookahead == 's') ADVANCE(63); END_STATE(); case 50: ACCEPT_TOKEN(sym_case); END_STATE(); case 51: if (lookahead == 'c') ADVANCE(64); END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 53: if (lookahead == 's') ADVANCE(65); END_STATE(); case 54: if (lookahead == 'r') ADVANCE(66); END_STATE(); case 55: if (lookahead == 'x') ADVANCE(67); END_STATE(); case 56: ACCEPT_TOKEN(anon_sym_left); END_STATE(); case 57: if (lookahead == 'l') ADVANCE(68); END_STATE(); case 58: ACCEPT_TOKEN(sym_port); END_STATE(); case 59: if (lookahead == 't') ADVANCE(69); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_then); END_STATE(); case 61: ACCEPT_TOKEN(sym_type); END_STATE(); case 62: if (lookahead == 'e') ADVANCE(70); END_STATE(); case 63: ACCEPT_TOKEN(sym_alias); END_STATE(); case 64: if (lookahead == 't') ADVANCE(71); END_STATE(); case 65: if (lookahead == 'i') ADVANCE(72); END_STATE(); case 66: if (lookahead == 't') ADVANCE(73); END_STATE(); case 67: ACCEPT_TOKEN(sym_infix); END_STATE(); case 68: if (lookahead == 'e') ADVANCE(74); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_right); END_STATE(); case 70: ACCEPT_TOKEN(sym_where); END_STATE(); case 71: ACCEPT_TOKEN(sym_effect); END_STATE(); case 72: if (lookahead == 'n') ADVANCE(75); END_STATE(); case 73: ACCEPT_TOKEN(sym_import); END_STATE(); case 74: ACCEPT_TOKEN(sym_module); END_STATE(); case 75: if (lookahead == 'g') ADVANCE(76); END_STATE(); case 76: ACCEPT_TOKEN(sym_exposing); END_STATE(); default: return false; } } static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, [1] = {.lex_state = 70}, [2] = {.lex_state = 17, .external_lex_state = 2}, [3] = {.lex_state = 17, .external_lex_state = 2}, [4] = {.lex_state = 17, .external_lex_state = 2}, [5] = {.lex_state = 17, .external_lex_state = 2}, [6] = {.lex_state = 17, .external_lex_state = 2}, [7] = {.lex_state = 17, .external_lex_state = 2}, [8] = {.lex_state = 17, .external_lex_state = 2}, [9] = {.lex_state = 17, .external_lex_state = 2}, [10] = {.lex_state = 17, .external_lex_state = 2}, [11] = {.lex_state = 17, .external_lex_state = 2}, [12] = {.lex_state = 17, .external_lex_state = 2}, [13] = {.lex_state = 17, .external_lex_state = 2}, [14] = {.lex_state = 17, .external_lex_state = 3}, [15] = {.lex_state = 17, .external_lex_state = 3}, [16] = {.lex_state = 17, .external_lex_state = 3}, [17] = {.lex_state = 17, .external_lex_state = 4}, [18] = {.lex_state = 17, .external_lex_state = 4}, [19] = {.lex_state = 17, .external_lex_state = 4}, [20] = {.lex_state = 16, .external_lex_state = 2}, [21] = {.lex_state = 16, .external_lex_state = 2}, [22] = {.lex_state = 17, .external_lex_state = 2}, [23] = {.lex_state = 17, .external_lex_state = 2}, [24] = {.lex_state = 17, .external_lex_state = 2}, [25] = {.lex_state = 16, .external_lex_state = 2}, [26] = {.lex_state = 16, .external_lex_state = 2}, [27] = {.lex_state = 16, .external_lex_state = 2}, [28] = {.lex_state = 16, .external_lex_state = 2}, [29] = {.lex_state = 16, .external_lex_state = 2}, [30] = {.lex_state = 16, .external_lex_state = 2}, [31] = {.lex_state = 16, .external_lex_state = 2}, [32] = {.lex_state = 16, .external_lex_state = 2}, [33] = {.lex_state = 16, .external_lex_state = 2}, [34] = {.lex_state = 16, .external_lex_state = 2}, [35] = {.lex_state = 16, .external_lex_state = 2}, [36] = {.lex_state = 16, .external_lex_state = 2}, [37] = {.lex_state = 16, .external_lex_state = 2}, [38] = {.lex_state = 16, .external_lex_state = 2}, [39] = {.lex_state = 16, .external_lex_state = 2}, [40] = {.lex_state = 16, .external_lex_state = 2}, [41] = {.lex_state = 16, .external_lex_state = 2}, [42] = {.lex_state = 17, .external_lex_state = 2}, [43] = {.lex_state = 17, .external_lex_state = 2}, [44] = {.lex_state = 17, .external_lex_state = 2}, [45] = {.lex_state = 17, .external_lex_state = 2}, [46] = {.lex_state = 17, .external_lex_state = 2}, [47] = {.lex_state = 17, .external_lex_state = 2}, [48] = {.lex_state = 17, .external_lex_state = 2}, [49] = {.lex_state = 17, .external_lex_state = 2}, [50] = {.lex_state = 17, .external_lex_state = 2}, [51] = {.lex_state = 17, .external_lex_state = 2}, [52] = {.lex_state = 17, .external_lex_state = 2}, [53] = {.lex_state = 17, .external_lex_state = 2}, [54] = {.lex_state = 17, .external_lex_state = 2}, [55] = {.lex_state = 17, .external_lex_state = 2}, [56] = {.lex_state = 17, .external_lex_state = 2}, [57] = {.lex_state = 17, .external_lex_state = 2}, [58] = {.lex_state = 17, .external_lex_state = 2}, [59] = {.lex_state = 17, .external_lex_state = 2}, [60] = {.lex_state = 17, .external_lex_state = 2}, [61] = {.lex_state = 17, .external_lex_state = 2}, [62] = {.lex_state = 17, .external_lex_state = 2}, [63] = {.lex_state = 17, .external_lex_state = 2}, [64] = {.lex_state = 17, .external_lex_state = 2}, [65] = {.lex_state = 17, .external_lex_state = 2}, [66] = {.lex_state = 17, .external_lex_state = 2}, [67] = {.lex_state = 17, .external_lex_state = 2}, [68] = {.lex_state = 17, .external_lex_state = 2}, [69] = {.lex_state = 17, .external_lex_state = 2}, [70] = {.lex_state = 17, .external_lex_state = 2}, [71] = {.lex_state = 17, .external_lex_state = 2}, [72] = {.lex_state = 17, .external_lex_state = 2}, [73] = {.lex_state = 17, .external_lex_state = 2}, [74] = {.lex_state = 17, .external_lex_state = 2}, [75] = {.lex_state = 17, .external_lex_state = 2}, [76] = {.lex_state = 17, .external_lex_state = 2}, [77] = {.lex_state = 17, .external_lex_state = 2}, [78] = {.lex_state = 17, .external_lex_state = 2}, [79] = {.lex_state = 17, .external_lex_state = 2}, [80] = {.lex_state = 17, .external_lex_state = 2}, [81] = {.lex_state = 17, .external_lex_state = 2}, [82] = {.lex_state = 17, .external_lex_state = 2}, [83] = {.lex_state = 17, .external_lex_state = 2}, [84] = {.lex_state = 17, .external_lex_state = 2}, [85] = {.lex_state = 16, .external_lex_state = 3}, [86] = {.lex_state = 17, .external_lex_state = 2}, [87] = {.lex_state = 17, .external_lex_state = 3}, [88] = {.lex_state = 17, .external_lex_state = 2}, [89] = {.lex_state = 17, .external_lex_state = 3}, [90] = {.lex_state = 17, .external_lex_state = 2}, [91] = {.lex_state = 17, .external_lex_state = 2}, [92] = {.lex_state = 17, .external_lex_state = 2}, [93] = {.lex_state = 17, .external_lex_state = 2}, [94] = {.lex_state = 17, .external_lex_state = 2}, [95] = {.lex_state = 17, .external_lex_state = 2}, [96] = {.lex_state = 17, .external_lex_state = 2}, [97] = {.lex_state = 17, .external_lex_state = 2}, [98] = {.lex_state = 17, .external_lex_state = 2}, [99] = {.lex_state = 17, .external_lex_state = 2}, [100] = {.lex_state = 17, .external_lex_state = 2}, [101] = {.lex_state = 17, .external_lex_state = 2}, [102] = {.lex_state = 17, .external_lex_state = 2}, [103] = {.lex_state = 17, .external_lex_state = 2}, [104] = {.lex_state = 17, .external_lex_state = 2}, [105] = {.lex_state = 17, .external_lex_state = 2}, [106] = {.lex_state = 17, .external_lex_state = 2}, [107] = {.lex_state = 17, .external_lex_state = 2}, [108] = {.lex_state = 17, .external_lex_state = 2}, [109] = {.lex_state = 17, .external_lex_state = 2}, [110] = {.lex_state = 17, .external_lex_state = 2}, [111] = {.lex_state = 17, .external_lex_state = 2}, [112] = {.lex_state = 17, .external_lex_state = 2}, [113] = {.lex_state = 17, .external_lex_state = 2}, [114] = {.lex_state = 17, .external_lex_state = 2}, [115] = {.lex_state = 17, .external_lex_state = 2}, [116] = {.lex_state = 17, .external_lex_state = 3}, [117] = {.lex_state = 17, .external_lex_state = 2}, [118] = {.lex_state = 17, .external_lex_state = 2}, [119] = {.lex_state = 17, .external_lex_state = 2}, [120] = {.lex_state = 16, .external_lex_state = 3}, [121] = {.lex_state = 17, .external_lex_state = 2}, [122] = {.lex_state = 17, .external_lex_state = 2}, [123] = {.lex_state = 17, .external_lex_state = 2}, [124] = {.lex_state = 17, .external_lex_state = 2}, [125] = {.lex_state = 17, .external_lex_state = 2}, [126] = {.lex_state = 17, .external_lex_state = 2}, [127] = {.lex_state = 17, .external_lex_state = 2}, [128] = {.lex_state = 17, .external_lex_state = 2}, [129] = {.lex_state = 17, .external_lex_state = 2}, [130] = {.lex_state = 17, .external_lex_state = 2}, [131] = {.lex_state = 17, .external_lex_state = 2}, [132] = {.lex_state = 17, .external_lex_state = 2}, [133] = {.lex_state = 16, .external_lex_state = 3}, [134] = {.lex_state = 16, .external_lex_state = 3}, [135] = {.lex_state = 16, .external_lex_state = 3}, [136] = {.lex_state = 16, .external_lex_state = 3}, [137] = {.lex_state = 17, .external_lex_state = 2}, [138] = {.lex_state = 17, .external_lex_state = 2}, [139] = {.lex_state = 16, .external_lex_state = 3}, [140] = {.lex_state = 16, .external_lex_state = 3}, [141] = {.lex_state = 16, .external_lex_state = 3}, [142] = {.lex_state = 16, .external_lex_state = 3}, [143] = {.lex_state = 17, .external_lex_state = 4}, [144] = {.lex_state = 16, .external_lex_state = 3}, [145] = {.lex_state = 16, .external_lex_state = 4}, [146] = {.lex_state = 16, .external_lex_state = 3}, [147] = {.lex_state = 17, .external_lex_state = 4}, [148] = {.lex_state = 17, .external_lex_state = 2}, [149] = {.lex_state = 16, .external_lex_state = 3}, [150] = {.lex_state = 16, .external_lex_state = 3}, [151] = {.lex_state = 17, .external_lex_state = 4}, [152] = {.lex_state = 16, .external_lex_state = 4}, [153] = {.lex_state = 16, .external_lex_state = 3}, [154] = {.lex_state = 17, .external_lex_state = 2}, [155] = {.lex_state = 17, .external_lex_state = 2}, [156] = {.lex_state = 16, .external_lex_state = 3}, [157] = {.lex_state = 16, .external_lex_state = 3}, [158] = {.lex_state = 16, .external_lex_state = 3}, [159] = {.lex_state = 17, .external_lex_state = 2}, [160] = {.lex_state = 16, .external_lex_state = 3}, [161] = {.lex_state = 17, .external_lex_state = 3}, [162] = {.lex_state = 17, .external_lex_state = 3}, [163] = {.lex_state = 17, .external_lex_state = 3}, [164] = {.lex_state = 17, .external_lex_state = 3}, [165] = {.lex_state = 17, .external_lex_state = 3}, [166] = {.lex_state = 17, .external_lex_state = 3}, [167] = {.lex_state = 17, .external_lex_state = 3}, [168] = {.lex_state = 17, .external_lex_state = 3}, [169] = {.lex_state = 17, .external_lex_state = 3}, [170] = {.lex_state = 17, .external_lex_state = 3}, [171] = {.lex_state = 17, .external_lex_state = 3}, [172] = {.lex_state = 17, .external_lex_state = 3}, [173] = {.lex_state = 17, .external_lex_state = 3}, [174] = {.lex_state = 17, .external_lex_state = 3}, [175] = {.lex_state = 17, .external_lex_state = 3}, [176] = {.lex_state = 17, .external_lex_state = 3}, [177] = {.lex_state = 17, .external_lex_state = 3}, [178] = {.lex_state = 17, .external_lex_state = 3}, [179] = {.lex_state = 16, .external_lex_state = 4}, [180] = {.lex_state = 17, .external_lex_state = 3}, [181] = {.lex_state = 17, .external_lex_state = 3}, [182] = {.lex_state = 17, .external_lex_state = 3}, [183] = {.lex_state = 17, .external_lex_state = 3}, [184] = {.lex_state = 17, .external_lex_state = 3}, [185] = {.lex_state = 16, .external_lex_state = 4}, [186] = {.lex_state = 17, .external_lex_state = 3}, [187] = {.lex_state = 17, .external_lex_state = 3}, [188] = {.lex_state = 16, .external_lex_state = 4}, [189] = {.lex_state = 17, .external_lex_state = 3}, [190] = {.lex_state = 17, .external_lex_state = 3}, [191] = {.lex_state = 17, .external_lex_state = 3}, [192] = {.lex_state = 17, .external_lex_state = 3}, [193] = {.lex_state = 17, .external_lex_state = 3}, [194] = {.lex_state = 17, .external_lex_state = 3}, [195] = {.lex_state = 17, .external_lex_state = 3}, [196] = {.lex_state = 17, .external_lex_state = 3}, [197] = {.lex_state = 17, .external_lex_state = 3}, [198] = {.lex_state = 17, .external_lex_state = 2}, [199] = {.lex_state = 17, .external_lex_state = 2}, [200] = {.lex_state = 16, .external_lex_state = 4}, [201] = {.lex_state = 70}, [202] = {.lex_state = 16, .external_lex_state = 4}, [203] = {.lex_state = 16, .external_lex_state = 4}, [204] = {.lex_state = 16, .external_lex_state = 4}, [205] = {.lex_state = 17, .external_lex_state = 2}, [206] = {.lex_state = 16, .external_lex_state = 4}, [207] = {.lex_state = 16, .external_lex_state = 4}, [208] = {.lex_state = 17, .external_lex_state = 2}, [209] = {.lex_state = 16, .external_lex_state = 4}, [210] = {.lex_state = 16, .external_lex_state = 4}, [211] = {.lex_state = 16, .external_lex_state = 4}, [212] = {.lex_state = 16, .external_lex_state = 4}, [213] = {.lex_state = 16, .external_lex_state = 4}, [214] = {.lex_state = 17, .external_lex_state = 2}, [215] = {.lex_state = 17, .external_lex_state = 2}, [216] = {.lex_state = 70}, [217] = {.lex_state = 70}, [218] = {.lex_state = 16, .external_lex_state = 4}, [219] = {.lex_state = 16, .external_lex_state = 4}, [220] = {.lex_state = 16, .external_lex_state = 4}, [221] = {.lex_state = 17, .external_lex_state = 4}, [222] = {.lex_state = 17, .external_lex_state = 4}, [223] = {.lex_state = 17, .external_lex_state = 4}, [224] = {.lex_state = 17, .external_lex_state = 2}, [225] = {.lex_state = 17, .external_lex_state = 4}, [226] = {.lex_state = 17, .external_lex_state = 4}, [227] = {.lex_state = 17, .external_lex_state = 4}, [228] = {.lex_state = 17, .external_lex_state = 4}, [229] = {.lex_state = 17, .external_lex_state = 4}, [230] = {.lex_state = 17, .external_lex_state = 4}, [231] = {.lex_state = 17, .external_lex_state = 4}, [232] = {.lex_state = 17, .external_lex_state = 4}, [233] = {.lex_state = 17, .external_lex_state = 4}, [234] = {.lex_state = 17, .external_lex_state = 4}, [235] = {.lex_state = 17, .external_lex_state = 4}, [236] = {.lex_state = 17, .external_lex_state = 2}, [237] = {.lex_state = 17, .external_lex_state = 4}, [238] = {.lex_state = 17, .external_lex_state = 4}, [239] = {.lex_state = 17, .external_lex_state = 4}, [240] = {.lex_state = 17, .external_lex_state = 2}, [241] = {.lex_state = 17, .external_lex_state = 4}, [242] = {.lex_state = 17, .external_lex_state = 4}, [243] = {.lex_state = 17, .external_lex_state = 4}, [244] = {.lex_state = 17, .external_lex_state = 2}, [245] = {.lex_state = 17, .external_lex_state = 4}, [246] = {.lex_state = 17, .external_lex_state = 4}, [247] = {.lex_state = 17, .external_lex_state = 4}, [248] = {.lex_state = 17, .external_lex_state = 4}, [249] = {.lex_state = 17, .external_lex_state = 4}, [250] = {.lex_state = 17, .external_lex_state = 4}, [251] = {.lex_state = 17, .external_lex_state = 4}, [252] = {.lex_state = 17, .external_lex_state = 2}, [253] = {.lex_state = 17, .external_lex_state = 2}, [254] = {.lex_state = 17, .external_lex_state = 4}, [255] = {.lex_state = 17, .external_lex_state = 4}, [256] = {.lex_state = 17, .external_lex_state = 4}, [257] = {.lex_state = 17, .external_lex_state = 4}, [258] = {.lex_state = 17, .external_lex_state = 4}, [259] = {.lex_state = 17, .external_lex_state = 4}, [260] = {.lex_state = 17, .external_lex_state = 4}, [261] = {.lex_state = 70}, [262] = {.lex_state = 70}, [263] = {.lex_state = 70}, [264] = {.lex_state = 70}, [265] = {.lex_state = 70}, [266] = {.lex_state = 25, .external_lex_state = 5}, [267] = {.lex_state = 25, .external_lex_state = 6}, [268] = {.lex_state = 25, .external_lex_state = 6}, [269] = {.lex_state = 27}, [270] = {.lex_state = 27}, [271] = {.lex_state = 25, .external_lex_state = 5}, [272] = {.lex_state = 27}, [273] = {.lex_state = 27}, [274] = {.lex_state = 27}, [275] = {.lex_state = 27}, [276] = {.lex_state = 25, .external_lex_state = 6}, [277] = {.lex_state = 27}, [278] = {.lex_state = 27}, [279] = {.lex_state = 25, .external_lex_state = 5}, [280] = {.lex_state = 27}, [281] = {.lex_state = 27}, [282] = {.lex_state = 27}, [283] = {.lex_state = 70}, [284] = {.lex_state = 27}, [285] = {.lex_state = 27}, [286] = {.lex_state = 27}, [287] = {.lex_state = 27}, [288] = {.lex_state = 70}, [289] = {.lex_state = 27}, [290] = {.lex_state = 27}, [291] = {.lex_state = 27}, [292] = {.lex_state = 27}, [293] = {.lex_state = 70}, [294] = {.lex_state = 27}, [295] = {.lex_state = 24}, [296] = {.lex_state = 25, .external_lex_state = 5}, [297] = {.lex_state = 70}, [298] = {.lex_state = 27}, [299] = {.lex_state = 27}, [300] = {.lex_state = 70}, [301] = {.lex_state = 27}, [302] = {.lex_state = 27}, [303] = {.lex_state = 70}, [304] = {.lex_state = 27}, [305] = {.lex_state = 27}, [306] = {.lex_state = 27}, [307] = {.lex_state = 27}, [308] = {.lex_state = 70}, [309] = {.lex_state = 70}, [310] = {.lex_state = 70}, [311] = {.lex_state = 27}, [312] = {.lex_state = 27}, [313] = {.lex_state = 27}, [314] = {.lex_state = 27}, [315] = {.lex_state = 27}, [316] = {.lex_state = 27}, [317] = {.lex_state = 27}, [318] = {.lex_state = 27}, [319] = {.lex_state = 27}, [320] = {.lex_state = 27}, [321] = {.lex_state = 27}, [322] = {.lex_state = 27}, [323] = {.lex_state = 27}, [324] = {.lex_state = 27}, [325] = {.lex_state = 27}, [326] = {.lex_state = 27}, [327] = {.lex_state = 27}, [328] = {.lex_state = 70}, [329] = {.lex_state = 27}, [330] = {.lex_state = 27}, [331] = {.lex_state = 27}, [332] = {.lex_state = 27}, [333] = {.lex_state = 27}, [334] = {.lex_state = 25, .external_lex_state = 6}, [335] = {.lex_state = 27, .external_lex_state = 5}, [336] = {.lex_state = 27, .external_lex_state = 5}, [337] = {.lex_state = 27, .external_lex_state = 5}, [338] = {.lex_state = 27, .external_lex_state = 5}, [339] = {.lex_state = 27, .external_lex_state = 5}, [340] = {.lex_state = 70}, [341] = {.lex_state = 70}, [342] = {.lex_state = 70}, [343] = {.lex_state = 70}, [344] = {.lex_state = 70}, [345] = {.lex_state = 70}, [346] = {.lex_state = 70}, [347] = {.lex_state = 27, .external_lex_state = 5}, [348] = {.lex_state = 70}, [349] = {.lex_state = 70}, [350] = {.lex_state = 70}, [351] = {.lex_state = 70}, [352] = {.lex_state = 27, .external_lex_state = 6}, [353] = {.lex_state = 27, .external_lex_state = 5}, [354] = {.lex_state = 70}, [355] = {.lex_state = 27, .external_lex_state = 5}, [356] = {.lex_state = 27, .external_lex_state = 5}, [357] = {.lex_state = 70}, [358] = {.lex_state = 70}, [359] = {.lex_state = 70}, [360] = {.lex_state = 70}, [361] = {.lex_state = 70}, [362] = {.lex_state = 27, .external_lex_state = 5}, [363] = {.lex_state = 27, .external_lex_state = 5}, [364] = {.lex_state = 70}, [365] = {.lex_state = 27, .external_lex_state = 5}, [366] = {.lex_state = 70}, [367] = {.lex_state = 70}, [368] = {.lex_state = 70}, [369] = {.lex_state = 27, .external_lex_state = 5}, [370] = {.lex_state = 70}, [371] = {.lex_state = 70}, [372] = {.lex_state = 27, .external_lex_state = 6}, [373] = {.lex_state = 70}, [374] = {.lex_state = 70}, [375] = {.lex_state = 27, .external_lex_state = 5}, [376] = {.lex_state = 27, .external_lex_state = 6}, [377] = {.lex_state = 70}, [378] = {.lex_state = 70}, [379] = {.lex_state = 27, .external_lex_state = 6}, [380] = {.lex_state = 27, .external_lex_state = 6}, [381] = {.lex_state = 70}, [382] = {.lex_state = 70}, [383] = {.lex_state = 70}, [384] = {.lex_state = 27, .external_lex_state = 5}, [385] = {.lex_state = 27, .external_lex_state = 5}, [386] = {.lex_state = 27, .external_lex_state = 5}, [387] = {.lex_state = 70}, [388] = {.lex_state = 27, .external_lex_state = 5}, [389] = {.lex_state = 27, .external_lex_state = 5}, [390] = {.lex_state = 27, .external_lex_state = 5}, [391] = {.lex_state = 27, .external_lex_state = 5}, [392] = {.lex_state = 27, .external_lex_state = 5}, [393] = {.lex_state = 27, .external_lex_state = 5}, [394] = {.lex_state = 27, .external_lex_state = 5}, [395] = {.lex_state = 27, .external_lex_state = 5}, [396] = {.lex_state = 27, .external_lex_state = 5}, [397] = {.lex_state = 27, .external_lex_state = 5}, [398] = {.lex_state = 27, .external_lex_state = 5}, [399] = {.lex_state = 27, .external_lex_state = 5}, [400] = {.lex_state = 27, .external_lex_state = 6}, [401] = {.lex_state = 27, .external_lex_state = 5}, [402] = {.lex_state = 27, .external_lex_state = 5}, [403] = {.lex_state = 70}, [404] = {.lex_state = 27, .external_lex_state = 5}, [405] = {.lex_state = 27, .external_lex_state = 5}, [406] = {.lex_state = 27, .external_lex_state = 5}, [407] = {.lex_state = 27, .external_lex_state = 5}, [408] = {.lex_state = 27, .external_lex_state = 5}, [409] = {.lex_state = 27, .external_lex_state = 5}, [410] = {.lex_state = 27, .external_lex_state = 5}, [411] = {.lex_state = 27, .external_lex_state = 5}, [412] = {.lex_state = 27, .external_lex_state = 5}, [413] = {.lex_state = 27, .external_lex_state = 5}, [414] = {.lex_state = 70}, [415] = {.lex_state = 27, .external_lex_state = 5}, [416] = {.lex_state = 27, .external_lex_state = 5}, [417] = {.lex_state = 27, .external_lex_state = 5}, [418] = {.lex_state = 70}, [419] = {.lex_state = 27, .external_lex_state = 5}, [420] = {.lex_state = 27, .external_lex_state = 5}, [421] = {.lex_state = 27, .external_lex_state = 5}, [422] = {.lex_state = 27, .external_lex_state = 6}, [423] = {.lex_state = 27, .external_lex_state = 6}, [424] = {.lex_state = 27}, [425] = {.lex_state = 27, .external_lex_state = 6}, [426] = {.lex_state = 27}, [427] = {.lex_state = 27, .external_lex_state = 6}, [428] = {.lex_state = 27, .external_lex_state = 6}, [429] = {.lex_state = 27}, [430] = {.lex_state = 27, .external_lex_state = 6}, [431] = {.lex_state = 27}, [432] = {.lex_state = 27}, [433] = {.lex_state = 27}, [434] = {.lex_state = 27, .external_lex_state = 6}, [435] = {.lex_state = 27}, [436] = {.lex_state = 27, .external_lex_state = 6}, [437] = {.lex_state = 27, .external_lex_state = 6}, [438] = {.lex_state = 27}, [439] = {.lex_state = 27}, [440] = {.lex_state = 27, .external_lex_state = 6}, [441] = {.lex_state = 27}, [442] = {.lex_state = 27}, [443] = {.lex_state = 27, .external_lex_state = 6}, [444] = {.lex_state = 27}, [445] = {.lex_state = 27, .external_lex_state = 6}, [446] = {.lex_state = 27, .external_lex_state = 6}, [447] = {.lex_state = 27, .external_lex_state = 6}, [448] = {.lex_state = 27, .external_lex_state = 6}, [449] = {.lex_state = 27, .external_lex_state = 6}, [450] = {.lex_state = 27, .external_lex_state = 6}, [451] = {.lex_state = 27, .external_lex_state = 6}, [452] = {.lex_state = 27, .external_lex_state = 6}, [453] = {.lex_state = 27, .external_lex_state = 6}, [454] = {.lex_state = 27, .external_lex_state = 6}, [455] = {.lex_state = 27, .external_lex_state = 6}, [456] = {.lex_state = 27, .external_lex_state = 6}, [457] = {.lex_state = 27, .external_lex_state = 6}, [458] = {.lex_state = 27, .external_lex_state = 6}, [459] = {.lex_state = 27, .external_lex_state = 6}, [460] = {.lex_state = 27, .external_lex_state = 6}, [461] = {.lex_state = 27, .external_lex_state = 6}, [462] = {.lex_state = 27, .external_lex_state = 6}, [463] = {.lex_state = 70}, [464] = {.lex_state = 27, .external_lex_state = 6}, [465] = {.lex_state = 70}, [466] = {.lex_state = 27, .external_lex_state = 6}, [467] = {.lex_state = 27, .external_lex_state = 6}, [468] = {.lex_state = 27, .external_lex_state = 6}, [469] = {.lex_state = 27, .external_lex_state = 6}, [470] = {.lex_state = 27, .external_lex_state = 6}, [471] = {.lex_state = 27, .external_lex_state = 6}, [472] = {.lex_state = 27, .external_lex_state = 6}, [473] = {.lex_state = 70}, [474] = {.lex_state = 27, .external_lex_state = 6}, [475] = {.lex_state = 70}, [476] = {.lex_state = 27, .external_lex_state = 6}, [477] = {.lex_state = 27, .external_lex_state = 6}, [478] = {.lex_state = 27}, [479] = {.lex_state = 27, .external_lex_state = 6}, [480] = {.lex_state = 70}, [481] = {.lex_state = 70}, [482] = {.lex_state = 70}, [483] = {.lex_state = 70}, [484] = {.lex_state = 70}, [485] = {.lex_state = 70}, [486] = {.lex_state = 70}, [487] = {.lex_state = 70}, [488] = {.lex_state = 70}, [489] = {.lex_state = 70}, [490] = {.lex_state = 70}, [491] = {.lex_state = 70}, [492] = {.lex_state = 70}, [493] = {.lex_state = 70}, [494] = {.lex_state = 70}, [495] = {.lex_state = 70}, [496] = {.lex_state = 70}, [497] = {.lex_state = 70}, [498] = {.lex_state = 70}, [499] = {.lex_state = 70}, [500] = {.lex_state = 70}, [501] = {.lex_state = 70}, [502] = {.lex_state = 70}, [503] = {.lex_state = 70}, [504] = {.lex_state = 70}, [505] = {.lex_state = 70}, [506] = {.lex_state = 70}, [507] = {.lex_state = 70}, [508] = {.lex_state = 70}, [509] = {.lex_state = 17, .external_lex_state = 2}, [510] = {.lex_state = 17, .external_lex_state = 2}, [511] = {.lex_state = 70}, [512] = {.lex_state = 70}, [513] = {.lex_state = 70}, [514] = {.lex_state = 70}, [515] = {.lex_state = 70}, [516] = {.lex_state = 70}, [517] = {.lex_state = 70}, [518] = {.lex_state = 70}, [519] = {.lex_state = 70}, [520] = {.lex_state = 70, .external_lex_state = 5}, [521] = {.lex_state = 70}, [522] = {.lex_state = 70, .external_lex_state = 5}, [523] = {.lex_state = 70}, [524] = {.lex_state = 70}, [525] = {.lex_state = 70}, [526] = {.lex_state = 70, .external_lex_state = 5}, [527] = {.lex_state = 70}, [528] = {.lex_state = 70}, [529] = {.lex_state = 70, .external_lex_state = 6}, [530] = {.lex_state = 70, .external_lex_state = 6}, [531] = {.lex_state = 70, .external_lex_state = 6}, [532] = {.lex_state = 70, .external_lex_state = 6}, [533] = {.lex_state = 70}, [534] = {.lex_state = 70, .external_lex_state = 6}, [535] = {.lex_state = 70}, [536] = {.lex_state = 70}, [537] = {.lex_state = 70, .external_lex_state = 6}, [538] = {.lex_state = 70}, [539] = {.lex_state = 70}, [540] = {.lex_state = 70}, [541] = {.lex_state = 70}, [542] = {.lex_state = 70}, [543] = {.lex_state = 70}, [544] = {.lex_state = 70}, [545] = {.lex_state = 70}, [546] = {.lex_state = 70}, [547] = {.lex_state = 70, .external_lex_state = 6}, [548] = {.lex_state = 70, .external_lex_state = 5}, [549] = {.lex_state = 70, .external_lex_state = 6}, [550] = {.lex_state = 24}, [551] = {.lex_state = 70}, [552] = {.lex_state = 70}, [553] = {.lex_state = 70}, [554] = {.lex_state = 70}, [555] = {.lex_state = 70}, [556] = {.lex_state = 70}, [557] = {.lex_state = 70, .external_lex_state = 6}, [558] = {.lex_state = 70}, [559] = {.lex_state = 70}, [560] = {.lex_state = 70}, [561] = {.lex_state = 70}, [562] = {.lex_state = 70}, [563] = {.lex_state = 70, .external_lex_state = 6}, [564] = {.lex_state = 70}, [565] = {.lex_state = 70, .external_lex_state = 5}, [566] = {.lex_state = 70, .external_lex_state = 5}, [567] = {.lex_state = 70, .external_lex_state = 5}, [568] = {.lex_state = 70, .external_lex_state = 5}, [569] = {.lex_state = 70}, [570] = {.lex_state = 70, .external_lex_state = 5}, [571] = {.lex_state = 70, .external_lex_state = 5}, [572] = {.lex_state = 70}, [573] = {.lex_state = 70, .external_lex_state = 5}, [574] = {.lex_state = 70, .external_lex_state = 5}, [575] = {.lex_state = 70, .external_lex_state = 6}, [576] = {.lex_state = 70, .external_lex_state = 5}, [577] = {.lex_state = 70, .external_lex_state = 5}, [578] = {.lex_state = 70, .external_lex_state = 5}, [579] = {.lex_state = 70, .external_lex_state = 5}, [580] = {.lex_state = 70, .external_lex_state = 6}, [581] = {.lex_state = 70, .external_lex_state = 6}, [582] = {.lex_state = 70, .external_lex_state = 6}, [583] = {.lex_state = 70, .external_lex_state = 6}, [584] = {.lex_state = 70, .external_lex_state = 6}, [585] = {.lex_state = 70, .external_lex_state = 6}, [586] = {.lex_state = 70, .external_lex_state = 6}, [587] = {.lex_state = 70, .external_lex_state = 6}, [588] = {.lex_state = 0}, [589] = {.lex_state = 70, .external_lex_state = 6}, [590] = {.lex_state = 70, .external_lex_state = 6}, [591] = {.lex_state = 70, .external_lex_state = 6}, [592] = {.lex_state = 0}, [593] = {.lex_state = 70, .external_lex_state = 6}, [594] = {.lex_state = 70, .external_lex_state = 6}, [595] = {.lex_state = 70, .external_lex_state = 6}, [596] = {.lex_state = 70, .external_lex_state = 6}, [597] = {.lex_state = 70, .external_lex_state = 6}, [598] = {.lex_state = 70, .external_lex_state = 6}, [599] = {.lex_state = 0}, [600] = {.lex_state = 0}, [601] = {.lex_state = 70, .external_lex_state = 6}, [602] = {.lex_state = 0}, [603] = {.lex_state = 70, .external_lex_state = 6}, [604] = {.lex_state = 70, .external_lex_state = 6}, [605] = {.lex_state = 70, .external_lex_state = 6}, [606] = {.lex_state = 70, .external_lex_state = 6}, [607] = {.lex_state = 0}, [608] = {.lex_state = 70, .external_lex_state = 6}, [609] = {.lex_state = 70, .external_lex_state = 6}, [610] = {.lex_state = 70, .external_lex_state = 6}, [611] = {.lex_state = 70, .external_lex_state = 6}, [612] = {.lex_state = 9}, [613] = {.lex_state = 21}, [614] = {.lex_state = 21}, [615] = {.lex_state = 21}, [616] = {.lex_state = 9}, [617] = {.lex_state = 21}, [618] = {.lex_state = 9}, [619] = {.lex_state = 21}, [620] = {.lex_state = 0, .external_lex_state = 5}, [621] = {.lex_state = 70}, [622] = {.lex_state = 9}, [623] = {.lex_state = 70}, [624] = {.lex_state = 0}, [625] = {.lex_state = 0}, [626] = {.lex_state = 70}, [627] = {.lex_state = 9}, [628] = {.lex_state = 70}, [629] = {.lex_state = 9}, [630] = {.lex_state = 21}, [631] = {.lex_state = 9}, [632] = {.lex_state = 9}, [633] = {.lex_state = 21}, [634] = {.lex_state = 21}, [635] = {.lex_state = 9}, [636] = {.lex_state = 0, .external_lex_state = 5}, [637] = {.lex_state = 21}, [638] = {.lex_state = 0, .external_lex_state = 5}, [639] = {.lex_state = 0, .external_lex_state = 5}, [640] = {.lex_state = 0, .external_lex_state = 6}, [641] = {.lex_state = 21}, [642] = {.lex_state = 9}, [643] = {.lex_state = 9}, [644] = {.lex_state = 21}, [645] = {.lex_state = 0}, [646] = {.lex_state = 0}, [647] = {.lex_state = 9}, [648] = {.lex_state = 21}, [649] = {.lex_state = 9}, [650] = {.lex_state = 21}, [651] = {.lex_state = 0, .external_lex_state = 5}, [652] = {.lex_state = 21}, [653] = {.lex_state = 9}, [654] = {.lex_state = 0, .external_lex_state = 5}, [655] = {.lex_state = 9}, [656] = {.lex_state = 21}, [657] = {.lex_state = 0, .external_lex_state = 5}, [658] = {.lex_state = 0, .external_lex_state = 5}, [659] = {.lex_state = 70}, [660] = {.lex_state = 0, .external_lex_state = 5}, [661] = {.lex_state = 70}, [662] = {.lex_state = 70}, [663] = {.lex_state = 0, .external_lex_state = 5}, [664] = {.lex_state = 70, .external_lex_state = 6}, [665] = {.lex_state = 0, .external_lex_state = 5}, [666] = {.lex_state = 0, .external_lex_state = 5}, [667] = {.lex_state = 70}, [668] = {.lex_state = 70}, [669] = {.lex_state = 70, .external_lex_state = 6}, [670] = {.lex_state = 70, .external_lex_state = 6}, [671] = {.lex_state = 0, .external_lex_state = 5}, [672] = {.lex_state = 0}, [673] = {.lex_state = 70}, [674] = {.lex_state = 70}, [675] = {.lex_state = 0, .external_lex_state = 5}, [676] = {.lex_state = 70, .external_lex_state = 6}, [677] = {.lex_state = 70, .external_lex_state = 6}, [678] = {.lex_state = 9}, [679] = {.lex_state = 70}, [680] = {.lex_state = 21}, [681] = {.lex_state = 70, .external_lex_state = 5}, [682] = {.lex_state = 70, .external_lex_state = 5}, [683] = {.lex_state = 70, .external_lex_state = 5}, [684] = {.lex_state = 0}, [685] = {.lex_state = 35}, [686] = {.lex_state = 0}, [687] = {.lex_state = 70, .external_lex_state = 5}, [688] = {.lex_state = 70, .external_lex_state = 5}, [689] = {.lex_state = 0}, [690] = {.lex_state = 13}, [691] = {.lex_state = 0}, [692] = {.lex_state = 0}, [693] = {.lex_state = 0}, [694] = {.lex_state = 35}, [695] = {.lex_state = 0}, [696] = {.lex_state = 0}, [697] = {.lex_state = 0}, [698] = {.lex_state = 0}, [699] = {.lex_state = 0}, [700] = {.lex_state = 0}, [701] = {.lex_state = 0}, [702] = {.lex_state = 35}, [703] = {.lex_state = 0, .external_lex_state = 5}, [704] = {.lex_state = 35}, [705] = {.lex_state = 0}, [706] = {.lex_state = 0}, [707] = {.lex_state = 0}, [708] = {.lex_state = 0}, [709] = {.lex_state = 0}, [710] = {.lex_state = 0}, [711] = {.lex_state = 0}, [712] = {.lex_state = 0, .external_lex_state = 5}, [713] = {.lex_state = 0, .external_lex_state = 5}, [714] = {.lex_state = 70}, [715] = {.lex_state = 70, .external_lex_state = 6}, [716] = {.lex_state = 13}, [717] = {.lex_state = 0, .external_lex_state = 5}, [718] = {.lex_state = 0}, [719] = {.lex_state = 0, .external_lex_state = 5}, [720] = {.lex_state = 0}, [721] = {.lex_state = 70, .external_lex_state = 6}, [722] = {.lex_state = 0}, [723] = {.lex_state = 0}, [724] = {.lex_state = 13}, [725] = {.lex_state = 0}, [726] = {.lex_state = 0, .external_lex_state = 6}, [727] = {.lex_state = 0}, [728] = {.lex_state = 0}, [729] = {.lex_state = 0}, [730] = {.lex_state = 70}, [731] = {.lex_state = 0}, [732] = {.lex_state = 35}, [733] = {.lex_state = 0, .external_lex_state = 5}, [734] = {.lex_state = 0, .external_lex_state = 5}, [735] = {.lex_state = 0}, [736] = {.lex_state = 0}, [737] = {.lex_state = 0}, [738] = {.lex_state = 0}, [739] = {.lex_state = 13}, [740] = {.lex_state = 0}, [741] = {.lex_state = 0}, [742] = {.lex_state = 13}, [743] = {.lex_state = 70}, [744] = {.lex_state = 0}, [745] = {.lex_state = 0}, [746] = {.lex_state = 0}, [747] = {.lex_state = 0}, [748] = {.lex_state = 0}, [749] = {.lex_state = 0, .external_lex_state = 5}, [750] = {.lex_state = 0}, [751] = {.lex_state = 0, .external_lex_state = 5}, [752] = {.lex_state = 35}, [753] = {.lex_state = 35}, [754] = {.lex_state = 0}, [755] = {.lex_state = 13}, [756] = {.lex_state = 0}, [757] = {.lex_state = 0}, [758] = {.lex_state = 0}, [759] = {.lex_state = 0}, [760] = {.lex_state = 0}, [761] = {.lex_state = 0}, [762] = {.lex_state = 35}, [763] = {.lex_state = 0}, [764] = {.lex_state = 0}, [765] = {.lex_state = 0}, [766] = {.lex_state = 0}, [767] = {.lex_state = 0}, [768] = {.lex_state = 0}, [769] = {.lex_state = 0}, [770] = {.lex_state = 0, .external_lex_state = 5}, [771] = {.lex_state = 0}, [772] = {.lex_state = 0, .external_lex_state = 5}, [773] = {.lex_state = 35}, [774] = {.lex_state = 0}, [775] = {.lex_state = 35}, [776] = {.lex_state = 0}, [777] = {.lex_state = 0}, [778] = {.lex_state = 0}, [779] = {.lex_state = 70, .external_lex_state = 6}, [780] = {.lex_state = 0}, [781] = {.lex_state = 70, .external_lex_state = 5}, [782] = {.lex_state = 0}, [783] = {.lex_state = 0}, [784] = {.lex_state = 0}, [785] = {.lex_state = 0}, [786] = {.lex_state = 0}, [787] = {.lex_state = 0, .external_lex_state = 5}, [788] = {.lex_state = 0}, [789] = {.lex_state = 0}, [790] = {.lex_state = 0, .external_lex_state = 5}, [791] = {.lex_state = 0}, [792] = {.lex_state = 0}, [793] = {.lex_state = 70}, [794] = {.lex_state = 0}, [795] = {.lex_state = 0}, [796] = {.lex_state = 70}, [797] = {.lex_state = 0}, [798] = {.lex_state = 0}, [799] = {.lex_state = 0}, [800] = {.lex_state = 0}, [801] = {.lex_state = 13}, [802] = {.lex_state = 35}, [803] = {.lex_state = 0}, [804] = {.lex_state = 0}, [805] = {.lex_state = 0}, [806] = {.lex_state = 0}, [807] = {.lex_state = 0}, [808] = {.lex_state = 0}, [809] = {.lex_state = 0}, [810] = {.lex_state = 0}, [811] = {.lex_state = 35}, [812] = {.lex_state = 0}, [813] = {.lex_state = 0}, [814] = {.lex_state = 0}, [815] = {.lex_state = 0, .external_lex_state = 5}, [816] = {.lex_state = 0}, [817] = {.lex_state = 70}, [818] = {.lex_state = 35}, [819] = {.lex_state = 0}, [820] = {.lex_state = 0}, [821] = {.lex_state = 0}, [822] = {.lex_state = 0, .external_lex_state = 5}, [823] = {.lex_state = 0}, [824] = {.lex_state = 0, .external_lex_state = 7}, [825] = {.lex_state = 0}, [826] = {.lex_state = 0}, [827] = {.lex_state = 0}, [828] = {.lex_state = 0, .external_lex_state = 7}, [829] = {.lex_state = 0}, [830] = {.lex_state = 70}, [831] = {.lex_state = 0}, [832] = {.lex_state = 0}, [833] = {.lex_state = 0}, [834] = {.lex_state = 70}, [835] = {.lex_state = 0}, [836] = {.lex_state = 0}, [837] = {.lex_state = 70}, [838] = {.lex_state = 35}, [839] = {.lex_state = 0, .external_lex_state = 5}, [840] = {.lex_state = 70}, [841] = {.lex_state = 0}, [842] = {.lex_state = 70}, [843] = {.lex_state = 70}, [844] = {.lex_state = 0}, [845] = {.lex_state = 0}, [846] = {.lex_state = 0}, [847] = {.lex_state = 0}, [848] = {.lex_state = 0}, [849] = {.lex_state = 70}, [850] = {.lex_state = 0}, [851] = {.lex_state = 0}, [852] = {.lex_state = 0, .external_lex_state = 6}, [853] = {.lex_state = 0, .external_lex_state = 7}, [854] = {.lex_state = 70}, [855] = {.lex_state = 0}, [856] = {.lex_state = 0}, [857] = {.lex_state = 70}, [858] = {.lex_state = 70}, [859] = {.lex_state = 0}, [860] = {.lex_state = 70, .external_lex_state = 6}, [861] = {.lex_state = 0}, [862] = {.lex_state = 0}, [863] = {.lex_state = 0}, [864] = {.lex_state = 0}, [865] = {.lex_state = 70}, [866] = {.lex_state = 0}, [867] = {.lex_state = 0}, [868] = {.lex_state = 0}, [869] = {.lex_state = 0}, [870] = {.lex_state = 0, .external_lex_state = 5}, [871] = {.lex_state = 0, .external_lex_state = 7}, [872] = {.lex_state = 0}, [873] = {.lex_state = 0}, [874] = {.lex_state = 0}, [875] = {.lex_state = 0}, [876] = {.lex_state = 0}, [877] = {.lex_state = 70, .external_lex_state = 6}, [878] = {.lex_state = 70, .external_lex_state = 6}, [879] = {.lex_state = 70, .external_lex_state = 6}, [880] = {.lex_state = 0, .external_lex_state = 7}, [881] = {.lex_state = 0}, [882] = {.lex_state = 0}, [883] = {.lex_state = 0}, [884] = {.lex_state = 0}, [885] = {.lex_state = 0, .external_lex_state = 5}, [886] = {.lex_state = 0}, [887] = {.lex_state = 70}, [888] = {.lex_state = 70, .external_lex_state = 6}, [889] = {.lex_state = 0}, [890] = {.lex_state = 0, .external_lex_state = 5}, [891] = {.lex_state = 0, .external_lex_state = 5}, [892] = {.lex_state = 0}, [893] = {.lex_state = 0}, [894] = {.lex_state = 0}, [895] = {.lex_state = 0}, [896] = {.lex_state = 0}, [897] = {.lex_state = 0}, [898] = {.lex_state = 0, .external_lex_state = 5}, [899] = {.lex_state = 0}, [900] = {.lex_state = 0, .external_lex_state = 7}, [901] = {.lex_state = 0}, [902] = {.lex_state = 0}, [903] = {.lex_state = 35}, [904] = {.lex_state = 0, .external_lex_state = 6}, [905] = {.lex_state = 0}, [906] = {.lex_state = 25}, [907] = {.lex_state = 35}, [908] = {.lex_state = 0, .external_lex_state = 6}, [909] = {.lex_state = 0, .external_lex_state = 7}, [910] = {.lex_state = 35}, [911] = {.lex_state = 0}, [912] = {.lex_state = 0}, [913] = {.lex_state = 0}, [914] = {.lex_state = 0}, [915] = {.lex_state = 0}, [916] = {.lex_state = 0, .external_lex_state = 6}, [917] = {.lex_state = 0}, [918] = {.lex_state = 0}, [919] = {.lex_state = 0, .external_lex_state = 6}, [920] = {.lex_state = 0}, [921] = {.lex_state = 70}, [922] = {.lex_state = 35}, [923] = {.lex_state = 0, .external_lex_state = 6}, [924] = {.lex_state = 0, .external_lex_state = 7}, [925] = {.lex_state = 0}, [926] = {.lex_state = 0}, [927] = {.lex_state = 0}, [928] = {.lex_state = 0}, [929] = {.lex_state = 25}, [930] = {.lex_state = 0}, [931] = {.lex_state = 35}, [932] = {.lex_state = 35}, [933] = {.lex_state = 25}, [934] = {.lex_state = 0}, [935] = {.lex_state = 0}, [936] = {.lex_state = 35}, [937] = {.lex_state = 0}, [938] = {.lex_state = 0}, [939] = {.lex_state = 0, .external_lex_state = 7}, [940] = {.lex_state = 0, .external_lex_state = 8}, [941] = {.lex_state = 0, .external_lex_state = 9}, [942] = {.lex_state = 0}, [943] = {.lex_state = 0, .external_lex_state = 10}, [944] = {.lex_state = 0, .external_lex_state = 6}, [945] = {.lex_state = 0}, [946] = {.lex_state = 0, .external_lex_state = 7}, [947] = {.lex_state = 0}, [948] = {.lex_state = 0}, [949] = {.lex_state = 0}, [950] = {.lex_state = 0}, [951] = {.lex_state = 35}, [952] = {.lex_state = 0, .external_lex_state = 6}, [953] = {.lex_state = 0}, [954] = {.lex_state = 70}, [955] = {.lex_state = 70}, [956] = {.lex_state = 0}, [957] = {.lex_state = 25}, [958] = {.lex_state = 0, .external_lex_state = 10}, [959] = {.lex_state = 0}, [960] = {.lex_state = 0}, [961] = {.lex_state = 0}, [962] = {.lex_state = 35}, [963] = {.lex_state = 70}, [964] = {.lex_state = 35}, [965] = {.lex_state = 0}, [966] = {.lex_state = 0}, [967] = {.lex_state = 0}, [968] = {.lex_state = 70}, [969] = {.lex_state = 0, .external_lex_state = 6}, [970] = {.lex_state = 0}, [971] = {.lex_state = 0, .external_lex_state = 7}, [972] = {.lex_state = 0}, [973] = {.lex_state = 0}, [974] = {.lex_state = 0, .external_lex_state = 10}, [975] = {.lex_state = 0}, [976] = {.lex_state = 35}, [977] = {.lex_state = 0, .external_lex_state = 6}, [978] = {.lex_state = 0}, [979] = {.lex_state = 25}, [980] = {.lex_state = 0}, [981] = {.lex_state = 0}, [982] = {.lex_state = 70}, [983] = {.lex_state = 0}, [984] = {.lex_state = 0, .external_lex_state = 10}, [985] = {.lex_state = 35}, [986] = {.lex_state = 0}, [987] = {.lex_state = 0}, [988] = {.lex_state = 0}, [989] = {.lex_state = 25}, [990] = {.lex_state = 0}, [991] = {.lex_state = 0}, [992] = {.lex_state = 0}, [993] = {.lex_state = 0}, [994] = {.lex_state = 0, .external_lex_state = 10}, [995] = {.lex_state = 0}, [996] = {.lex_state = 0}, [997] = {.lex_state = 0}, [998] = {.lex_state = 0, .external_lex_state = 6}, [999] = {.lex_state = 0}, [1000] = {.lex_state = 70}, [1001] = {.lex_state = 0, .external_lex_state = 9}, [1002] = {.lex_state = 0}, [1003] = {.lex_state = 0, .external_lex_state = 10}, [1004] = {.lex_state = 24}, [1005] = {.lex_state = 70}, [1006] = {.lex_state = 0, .external_lex_state = 6}, [1007] = {.lex_state = 0}, [1008] = {.lex_state = 0, .external_lex_state = 6}, [1009] = {.lex_state = 70}, [1010] = {.lex_state = 70}, [1011] = {.lex_state = 0, .external_lex_state = 6}, [1012] = {.lex_state = 0, .external_lex_state = 9}, [1013] = {.lex_state = 0, .external_lex_state = 9}, [1014] = {.lex_state = 0, .external_lex_state = 6}, [1015] = {.lex_state = 0, .external_lex_state = 6}, [1016] = {.lex_state = 0, .external_lex_state = 9}, [1017] = {.lex_state = 0, .external_lex_state = 9}, [1018] = {.lex_state = 0, .external_lex_state = 6}, [1019] = {.lex_state = 0, .external_lex_state = 9}, [1020] = {.lex_state = 0, .external_lex_state = 9}, [1021] = {.lex_state = 0, .external_lex_state = 6}, [1022] = {.lex_state = 0, .external_lex_state = 9}, [1023] = {.lex_state = 0, .external_lex_state = 9}, [1024] = {.lex_state = 0, .external_lex_state = 9}, [1025] = {.lex_state = 0, .external_lex_state = 9}, [1026] = {.lex_state = 0, .external_lex_state = 9}, [1027] = {.lex_state = 0}, [1028] = {.lex_state = 0}, [1029] = {.lex_state = 0}, [1030] = {.lex_state = 0, .external_lex_state = 9}, [1031] = {.lex_state = 0}, [1032] = {.lex_state = 0}, [1033] = {.lex_state = 0, .external_lex_state = 9}, [1034] = {.lex_state = 0}, [1035] = {.lex_state = 0}, [1036] = {.lex_state = 0, .external_lex_state = 9}, [1037] = {.lex_state = 0}, [1038] = {.lex_state = 0}, [1039] = {.lex_state = 0}, [1040] = {.lex_state = 0}, [1041] = {.lex_state = 0, .external_lex_state = 9}, [1042] = {.lex_state = 0, .external_lex_state = 9}, [1043] = {.lex_state = 0}, [1044] = {.lex_state = 70}, [1045] = {.lex_state = 0}, [1046] = {.lex_state = 0}, [1047] = {.lex_state = 0, .external_lex_state = 6}, [1048] = {.lex_state = 0}, [1049] = {.lex_state = 70}, [1050] = {.lex_state = 0, .external_lex_state = 7}, [1051] = {(TSStateId)(-1)}, }; enum { ts_external_token__virtual_end_decl = 0, ts_external_token__virtual_open_section = 1, ts_external_token__virtual_end_section = 2, ts_external_token_minus_without_trailing_whitespace = 3, ts_external_token_glsl_content = 4, ts_external_token__block_comment_content = 5, }; static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { [ts_external_token__virtual_end_decl] = sym__virtual_end_decl, [ts_external_token__virtual_open_section] = sym__virtual_open_section, [ts_external_token__virtual_end_section] = sym__virtual_end_section, [ts_external_token_minus_without_trailing_whitespace] = sym_minus_without_trailing_whitespace, [ts_external_token_glsl_content] = sym_glsl_content, [ts_external_token__block_comment_content] = sym__block_comment_content, }; static const bool ts_external_scanner_states[11][EXTERNAL_TOKEN_COUNT] = { [1] = { [ts_external_token__virtual_end_decl] = true, [ts_external_token__virtual_open_section] = true, [ts_external_token__virtual_end_section] = true, [ts_external_token_minus_without_trailing_whitespace] = true, [ts_external_token_glsl_content] = true, [ts_external_token__block_comment_content] = true, }, [2] = { [ts_external_token_minus_without_trailing_whitespace] = true, }, [3] = { [ts_external_token__virtual_end_decl] = true, [ts_external_token__virtual_end_section] = true, [ts_external_token_minus_without_trailing_whitespace] = true, }, [4] = { [ts_external_token__virtual_end_decl] = true, [ts_external_token_minus_without_trailing_whitespace] = true, }, [5] = { [ts_external_token__virtual_end_decl] = true, [ts_external_token__virtual_end_section] = true, }, [6] = { [ts_external_token__virtual_end_decl] = true, }, [7] = { [ts_external_token__virtual_end_section] = true, }, [8] = { [ts_external_token__block_comment_content] = true, }, [9] = { [ts_external_token__virtual_open_section] = true, }, [10] = { [ts_external_token_glsl_content] = true, }, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [sym_block_comment] = STATE(0), [ts_builtin_sym_end] = ACTIONS(1), [sym_lower_case_identifier] = ACTIONS(1), [anon_sym_LBRACE_DASH] = ACTIONS(3), [anon_sym_DASH_RBRACE] = ACTIONS(1), [sym_line_comment] = ACTIONS(5), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [sym__upper_case_identifier_without_leading_whitespace] = ACTIONS(1), [sym__dot_without_leading_whitespace] = ACTIONS(1), [anon_sym_PIPE] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_SQUOTE] = ACTIONS(1), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_then] = ACTIONS(1), [anon_sym_let] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_COLON_COLON] = ACTIONS(1), [anon_sym_left] = ACTIONS(1), [anon_sym_right] = ACTIONS(1), [anon_sym_non] = ACTIONS(1), [sym__glsl_begin] = ACTIONS(1), [sym__glsl_end] = ACTIONS(1), [sym_number_literal] = ACTIONS(1), [sym_string_escape] = ACTIONS(1), [sym_module] = ACTIONS(1), [sym_effect] = ACTIONS(1), [sym_where] = ACTIONS(1), [sym_import] = ACTIONS(1), [sym_as] = ACTIONS(1), [sym_exposing] = ACTIONS(1), [sym_case] = ACTIONS(1), [sym_of] = ACTIONS(1), [sym_type] = ACTIONS(1), [sym_alias] = ACTIONS(1), [sym_port] = ACTIONS(1), [sym_infix] = ACTIONS(1), [sym_double_dot] = ACTIONS(1), [sym_eq] = ACTIONS(1), [sym_arrow] = ACTIONS(1), [sym_colon] = ACTIONS(1), [sym_underscore] = ACTIONS(1), [sym_dot] = 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_CARET] = ACTIONS(1), [anon_sym_EQ_EQ] = ACTIONS(1), [anon_sym_SLASH_EQ] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_AMP_AMP] = ACTIONS(1), [anon_sym_PIPE_PIPE] = ACTIONS(1), [anon_sym_PLUS_PLUS] = ACTIONS(1), [anon_sym_LT_PIPE] = ACTIONS(1), [anon_sym_PIPE_GT] = ACTIONS(1), [anon_sym_LT_LT] = ACTIONS(1), [anon_sym_GT_GT] = ACTIONS(1), [anon_sym_LT_SLASH_GT] = ACTIONS(1), [anon_sym_LT_QMARK_GT] = ACTIONS(1), [anon_sym_PIPE_DOT] = ACTIONS(1), [anon_sym_PIPE_EQ] = ACTIONS(1), [sym__virtual_end_decl] = ACTIONS(1), [sym__virtual_open_section] = ACTIONS(1), [sym__virtual_end_section] = ACTIONS(1), [sym_minus_without_trailing_whitespace] = ACTIONS(1), [sym_glsl_content] = ACTIONS(1), [sym__block_comment_content] = ACTIONS(1), }, [1] = { [sym_file] = STATE(1027), [sym_block_comment] = STATE(1), [sym_module_declaration] = STATE(1021), [aux_sym__import_list] = STATE(217), [aux_sym__top_decl_list] = STATE(263), [sym_upper_case_qid] = STATE(283), [sym_import_clause] = STATE(1018), [sym_value_declaration] = STATE(1015), [sym_function_declaration_left] = STATE(1010), [sym_type_declaration] = STATE(1015), [sym_type_alias_declaration] = STATE(1015), [sym_type_annotation] = STATE(1015), [sym_port_annotation] = STATE(1015), [sym__literal_expr_group] = STATE(507), [sym_char_constant_expr] = STATE(499), [sym_number_constant_expr] = STATE(499), [sym_string_constant_expr] = STATE(499), [sym_unit_expr] = STATE(507), [sym_pattern] = STATE(1009), [sym_cons_pattern] = STATE(514), [sym__single_pattern_cons] = STATE(1007), [sym__single_pattern] = STATE(513), [sym_lower_pattern] = STATE(507), [sym_anything_pattern] = STATE(507), [sym_record_pattern] = STATE(507), [sym_list_pattern] = STATE(507), [sym_union_pattern] = STATE(507), [sym_tuple_pattern] = STATE(507), [sym__parenthesized_pattern] = STATE(490), [sym_infix_declaration] = STATE(1015), [ts_builtin_sym_end] = ACTIONS(7), [sym_lower_case_identifier] = ACTIONS(9), [anon_sym_LBRACE_DASH] = ACTIONS(3), [sym_line_comment] = ACTIONS(5), [anon_sym_LPAREN] = ACTIONS(11), [anon_sym_LBRACE] = ACTIONS(13), [anon_sym_SQUOTE] = ACTIONS(15), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(17), [anon_sym_DQUOTE] = ACTIONS(19), [anon_sym_LBRACK] = ACTIONS(21), [sym_upper_case_identifier] = ACTIONS(23), [sym_number_literal] = ACTIONS(25), [sym_module] = ACTIONS(27), [sym_effect] = ACTIONS(29), [sym_import] = ACTIONS(31), [sym_type] = ACTIONS(33), [sym_port] = ACTIONS(35), [sym_infix] = ACTIONS(37), [sym_underscore] = ACTIONS(39), }, [2] = { [sym_block_comment] = STATE(2), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(52), [sym_operator_as_function_expr] = STATE(52), [sym__operator_as_function_inner] = STATE(57), [sym__atom] = STATE(71), [sym_field_access_expr] = STATE(29), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(52), [sym_parenthesized_expr] = STATE(29), [sym__literal_expr_group] = STATE(52), [sym_char_constant_expr] = STATE(62), [sym_number_constant_expr] = STATE(62), [sym_string_constant_expr] = STATE(62), [sym_anonymous_function_expr] = STATE(52), [sym_value_expr] = STATE(29), [sym_tuple_expr] = STATE(52), [sym_unit_expr] = STATE(52), [sym_list_expr] = STATE(52), [sym_record_expr] = STATE(29), [sym_if_else_expr] = STATE(52), [sym__if] = STATE(866), [sym_case_of_expr] = STATE(52), [sym_let_in_expr] = STATE(52), [sym_glsl_code_expr] = STATE(52), [aux_sym_function_call_expr_repeat1] = STATE(2), [sym_lower_case_identifier] = ACTIONS(41), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(48), [anon_sym_COMMA] = ACTIONS(51), [anon_sym_RPAREN] = ACTIONS(51), [anon_sym_LBRACE] = ACTIONS(53), [anon_sym_RBRACE] = ACTIONS(51), [anon_sym_SQUOTE] = ACTIONS(56), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(59), [anon_sym_DQUOTE] = ACTIONS(62), [anon_sym_LBRACK] = ACTIONS(65), [anon_sym_RBRACK] = ACTIONS(51), [anon_sym_else] = ACTIONS(51), [anon_sym_if] = ACTIONS(68), [anon_sym_then] = ACTIONS(51), [anon_sym_let] = ACTIONS(71), [anon_sym_COLON_COLON] = ACTIONS(51), [sym__glsl_begin] = ACTIONS(74), [sym_upper_case_identifier] = ACTIONS(77), [sym_number_literal] = ACTIONS(80), [sym_case] = ACTIONS(83), [sym_of] = ACTIONS(51), [sym_backslash] = ACTIONS(86), [sym_dot] = ACTIONS(89), [anon_sym_PLUS] = ACTIONS(51), [anon_sym_DASH] = ACTIONS(51), [anon_sym_STAR] = ACTIONS(51), [anon_sym_SLASH] = ACTIONS(51), [anon_sym_SLASH_SLASH] = ACTIONS(51), [anon_sym_CARET] = ACTIONS(51), [anon_sym_EQ_EQ] = ACTIONS(51), [anon_sym_SLASH_EQ] = ACTIONS(51), [anon_sym_LT] = ACTIONS(51), [anon_sym_GT] = ACTIONS(51), [anon_sym_LT_EQ] = ACTIONS(51), [anon_sym_GT_EQ] = ACTIONS(51), [anon_sym_AMP_AMP] = ACTIONS(51), [anon_sym_PIPE_PIPE] = ACTIONS(51), [anon_sym_PLUS_PLUS] = ACTIONS(51), [anon_sym_LT_PIPE] = ACTIONS(51), [anon_sym_PIPE_GT] = ACTIONS(51), [anon_sym_LT_LT] = ACTIONS(51), [anon_sym_GT_GT] = ACTIONS(51), [anon_sym_LT_SLASH_GT] = ACTIONS(51), [anon_sym_LT_QMARK_GT] = ACTIONS(51), [anon_sym_PIPE_DOT] = ACTIONS(51), [anon_sym_PIPE_EQ] = ACTIONS(51), [sym_minus_without_trailing_whitespace] = ACTIONS(92), }, [3] = { [sym_block_comment] = STATE(3), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(52), [sym_operator_as_function_expr] = STATE(52), [sym__operator_as_function_inner] = STATE(57), [sym__atom] = STATE(71), [sym_field_access_expr] = STATE(29), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(52), [sym_parenthesized_expr] = STATE(29), [sym__literal_expr_group] = STATE(52), [sym_char_constant_expr] = STATE(62), [sym_number_constant_expr] = STATE(62), [sym_string_constant_expr] = STATE(62), [sym_anonymous_function_expr] = STATE(52), [sym_value_expr] = STATE(29), [sym_tuple_expr] = STATE(52), [sym_unit_expr] = STATE(52), [sym_list_expr] = STATE(52), [sym_record_expr] = STATE(29), [sym_if_else_expr] = STATE(52), [sym__if] = STATE(866), [sym_case_of_expr] = STATE(52), [sym_let_in_expr] = STATE(52), [sym_glsl_code_expr] = STATE(52), [aux_sym_function_call_expr_repeat1] = STATE(2), [sym_lower_case_identifier] = ACTIONS(95), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(98), [anon_sym_COMMA] = ACTIONS(101), [anon_sym_RPAREN] = ACTIONS(101), [anon_sym_LBRACE] = ACTIONS(103), [anon_sym_RBRACE] = ACTIONS(101), [anon_sym_SQUOTE] = ACTIONS(106), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(109), [anon_sym_DQUOTE] = ACTIONS(112), [anon_sym_LBRACK] = ACTIONS(115), [anon_sym_RBRACK] = ACTIONS(101), [anon_sym_else] = ACTIONS(101), [anon_sym_if] = ACTIONS(118), [anon_sym_then] = ACTIONS(101), [anon_sym_let] = ACTIONS(121), [anon_sym_COLON_COLON] = ACTIONS(101), [sym__glsl_begin] = ACTIONS(124), [sym_upper_case_identifier] = ACTIONS(127), [sym_number_literal] = ACTIONS(130), [sym_case] = ACTIONS(133), [sym_of] = ACTIONS(101), [sym_backslash] = ACTIONS(136), [sym_dot] = ACTIONS(139), [anon_sym_PLUS] = ACTIONS(101), [anon_sym_DASH] = ACTIONS(101), [anon_sym_STAR] = ACTIONS(101), [anon_sym_SLASH] = ACTIONS(101), [anon_sym_SLASH_SLASH] = ACTIONS(101), [anon_sym_CARET] = ACTIONS(101), [anon_sym_EQ_EQ] = ACTIONS(101), [anon_sym_SLASH_EQ] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_EQ] = ACTIONS(101), [anon_sym_GT_EQ] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_PIPE_PIPE] = ACTIONS(101), [anon_sym_PLUS_PLUS] = ACTIONS(101), [anon_sym_LT_PIPE] = ACTIONS(101), [anon_sym_PIPE_GT] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_GT_GT] = ACTIONS(101), [anon_sym_LT_SLASH_GT] = ACTIONS(101), [anon_sym_LT_QMARK_GT] = ACTIONS(101), [anon_sym_PIPE_DOT] = ACTIONS(101), [anon_sym_PIPE_EQ] = ACTIONS(101), [sym_minus_without_trailing_whitespace] = ACTIONS(142), }, [4] = { [sym_block_comment] = STATE(4), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(52), [sym_operator_as_function_expr] = STATE(52), [sym__operator_as_function_inner] = STATE(57), [sym__atom] = STATE(71), [sym_field_access_expr] = STATE(29), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(52), [sym_parenthesized_expr] = STATE(29), [sym__literal_expr_group] = STATE(52), [sym_char_constant_expr] = STATE(62), [sym_number_constant_expr] = STATE(62), [sym_string_constant_expr] = STATE(62), [sym_anonymous_function_expr] = STATE(52), [sym_value_expr] = STATE(29), [sym_tuple_expr] = STATE(52), [sym_unit_expr] = STATE(52), [sym_list_expr] = STATE(52), [sym_record_expr] = STATE(29), [sym_if_else_expr] = STATE(52), [sym__if] = STATE(866), [sym_case_of_expr] = STATE(52), [sym_let_in_expr] = STATE(52), [sym_glsl_code_expr] = STATE(52), [aux_sym_function_call_expr_repeat1] = STATE(2), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(147), [anon_sym_COMMA] = ACTIONS(101), [anon_sym_RPAREN] = ACTIONS(101), [anon_sym_LBRACE] = ACTIONS(149), [anon_sym_RBRACE] = ACTIONS(101), [anon_sym_SQUOTE] = ACTIONS(151), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(153), [anon_sym_DQUOTE] = ACTIONS(155), [anon_sym_LBRACK] = ACTIONS(157), [anon_sym_RBRACK] = ACTIONS(101), [anon_sym_else] = ACTIONS(101), [anon_sym_if] = ACTIONS(159), [anon_sym_then] = ACTIONS(101), [anon_sym_let] = ACTIONS(161), [anon_sym_COLON_COLON] = ACTIONS(101), [sym__glsl_begin] = ACTIONS(163), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(167), [sym_case] = ACTIONS(169), [sym_of] = ACTIONS(101), [sym_backslash] = ACTIONS(171), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(101), [anon_sym_DASH] = ACTIONS(101), [anon_sym_STAR] = ACTIONS(101), [anon_sym_SLASH] = ACTIONS(101), [anon_sym_SLASH_SLASH] = ACTIONS(101), [anon_sym_CARET] = ACTIONS(101), [anon_sym_EQ_EQ] = ACTIONS(101), [anon_sym_SLASH_EQ] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_EQ] = ACTIONS(101), [anon_sym_GT_EQ] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_PIPE_PIPE] = ACTIONS(101), [anon_sym_PLUS_PLUS] = ACTIONS(101), [anon_sym_LT_PIPE] = ACTIONS(101), [anon_sym_PIPE_GT] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_GT_GT] = ACTIONS(101), [anon_sym_LT_SLASH_GT] = ACTIONS(101), [anon_sym_LT_QMARK_GT] = ACTIONS(101), [anon_sym_PIPE_DOT] = ACTIONS(101), [anon_sym_PIPE_EQ] = ACTIONS(101), [sym_minus_without_trailing_whitespace] = ACTIONS(175), }, [5] = { [sym_block_comment] = STATE(5), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(784), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(981), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(179), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(199), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [6] = { [sym_block_comment] = STATE(6), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(741), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(986), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(205), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(207), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [7] = { [sym_block_comment] = STATE(7), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(708), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(935), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(209), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(211), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [8] = { [sym_block_comment] = STATE(8), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(804), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(925), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(213), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(215), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [9] = { [sym_block_comment] = STATE(9), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(795), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(986), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(217), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(219), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [10] = { [sym_block_comment] = STATE(10), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(738), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(912), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(213), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(215), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [11] = { [sym_block_comment] = STATE(11), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(747), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(961), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(205), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(207), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [12] = { [sym_block_comment] = STATE(12), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(799), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(935), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(179), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(199), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [13] = { [sym_block_comment] = STATE(13), [sym_upper_case_qid] = STATE(38), [sym_value_qid] = STATE(38), [sym_field_accessor_function_expr] = STATE(55), [sym__expression] = STATE(803), [sym_bin_op_expr] = STATE(326), [sym_operator_as_function_expr] = STATE(55), [sym__operator_as_function_inner] = STATE(57), [sym__call_or_atom] = STATE(270), [sym_function_call_expr] = STATE(324), [sym__function_call_target] = STATE(215), [sym__atom] = STATE(324), [sym_field_access_expr] = STATE(40), [sym__field_access_start] = STATE(796), [sym_negate_expr] = STATE(298), [sym_parenthesized_expr] = STATE(40), [sym__literal_expr_group] = STATE(298), [sym_char_constant_expr] = STATE(319), [sym_number_constant_expr] = STATE(319), [sym_string_constant_expr] = STATE(319), [sym_anonymous_function_expr] = STATE(298), [sym_value_expr] = STATE(40), [sym_tuple_expr] = STATE(298), [sym_unit_expr] = STATE(298), [sym_list_expr] = STATE(298), [sym_record_expr] = STATE(292), [sym_if_else_expr] = STATE(298), [sym__if] = STATE(826), [sym_case_of_expr] = STATE(298), [sym_let_in_expr] = STATE(298), [sym_glsl_code_expr] = STATE(298), [sym_operator_identifier] = STATE(912), [sym_lower_case_identifier] = ACTIONS(145), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(177), [anon_sym_RPAREN] = ACTIONS(221), [anon_sym_LBRACE] = ACTIONS(181), [anon_sym_SQUOTE] = ACTIONS(183), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(185), [anon_sym_DQUOTE] = ACTIONS(187), [anon_sym_LBRACK] = ACTIONS(189), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(191), [anon_sym_COLON_COLON] = ACTIONS(193), [sym__glsl_begin] = ACTIONS(195), [sym_upper_case_identifier] = ACTIONS(165), [sym_number_literal] = ACTIONS(197), [sym_case] = ACTIONS(223), [sym_backslash] = ACTIONS(201), [sym_dot] = ACTIONS(173), [anon_sym_PLUS] = ACTIONS(193), [anon_sym_DASH] = ACTIONS(193), [anon_sym_STAR] = ACTIONS(193), [anon_sym_SLASH] = ACTIONS(193), [anon_sym_SLASH_SLASH] = ACTIONS(193), [anon_sym_CARET] = ACTIONS(193), [anon_sym_EQ_EQ] = ACTIONS(193), [anon_sym_SLASH_EQ] = ACTIONS(193), [anon_sym_LT] = ACTIONS(193), [anon_sym_GT] = ACTIONS(193), [anon_sym_LT_EQ] = ACTIONS(193), [anon_sym_GT_EQ] = ACTIONS(193), [anon_sym_AMP_AMP] = ACTIONS(193), [anon_sym_PIPE_PIPE] = ACTIONS(193), [anon_sym_PLUS_PLUS] = ACTIONS(193), [anon_sym_LT_PIPE] = ACTIONS(193), [anon_sym_PIPE_GT] = ACTIONS(193), [anon_sym_LT_LT] = ACTIONS(193), [anon_sym_GT_GT] = ACTIONS(193), [anon_sym_LT_SLASH_GT] = ACTIONS(193), [anon_sym_LT_QMARK_GT] = ACTIONS(193), [anon_sym_PIPE_DOT] = ACTIONS(193), [anon_sym_PIPE_EQ] = ACTIONS(193), [sym_minus_without_trailing_whitespace] = ACTIONS(203), }, [14] = { [sym_block_comment] = STATE(14), [sym_upper_case_qid] = STATE(141), [sym_value_qid] = STATE(141), [sym_field_accessor_function_expr] = STATE(187), [sym_operator_as_function_expr] = STATE(187), [sym__operator_as_function_inner] = STATE(186), [sym__atom] = STATE(165), [sym_field_access_expr] = STATE(149), [sym__field_access_start] = STATE(714), [sym_negate_expr] = STATE(187), [sym_parenthesized_expr] = STATE(149), [sym__literal_expr_group] = STATE(187), [sym_char_constant_expr] = STATE(168), [sym_number_constant_expr] = STATE(168), [sym_string_constant_expr] = STATE(168), [sym_anonymous_function_expr] = STATE(187), [sym_value_expr] = STATE(149), [sym_tuple_expr] = STATE(187), [sym_unit_expr] = STATE(187), [sym_list_expr] = STATE(187), [sym_record_expr] = STATE(149), [sym_if_else_expr] = STATE(187), [sym__if] = STATE(902), [sym_case_of_expr] = STATE(187), [sym_let_in_expr] = STATE(187), [sym_glsl_code_expr] = STATE(187), [aux_sym_function_call_expr_repeat1] = STATE(14), [sym_lower_case_identifier] = ACTIONS(225), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(228), [anon_sym_RPAREN] = ACTIONS(51), [anon_sym_LBRACE] = ACTIONS(231), [anon_sym_SQUOTE] = ACTIONS(234), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(237), [anon_sym_DQUOTE] = ACTIONS(240), [anon_sym_LBRACK] = ACTIONS(243), [anon_sym_if] = ACTIONS(68), [anon_sym_let] = ACTIONS(246), [anon_sym_COLON_COLON] = ACTIONS(51), [sym__glsl_begin] = ACTIONS(249), [sym_upper_case_identifier] = ACTIONS(252), [sym_number_literal] = ACTIONS(255), [sym_case] = ACTIONS(258), [sym_backslash] = ACTIONS(261), [sym_dot] = ACTIONS(264), [anon_sym_PLUS] = ACTIONS(51), [anon_sym_DASH] = ACTIONS(51), [anon_sym_STAR] = ACTIONS(51), [anon_sym_SLASH] = ACTIONS(51), [anon_sym_SLASH_SLASH] = ACTIONS(51), [anon_sym_CARET] = ACTIONS(51), [anon_sym_EQ_EQ] = ACTIONS(51), [anon_sym_SLASH_EQ] = ACTIONS(51), [anon_sym_LT] = ACTIONS(51), [anon_sym_GT] = ACTIONS(51), [anon_sym_LT_EQ] = ACTIONS(51), [anon_sym_GT_EQ] = ACTIONS(51), [anon_sym_AMP_AMP] = ACTIONS(51), [anon_sym_PIPE_PIPE] = ACTIONS(51), [anon_sym_PLUS_PLUS] = ACTIONS(51), [anon_sym_LT_PIPE] = ACTIONS(51), [anon_sym_PIPE_GT] = ACTIONS(51), [anon_sym_LT_LT] = ACTIONS(51), [anon_sym_GT_GT] = ACTIONS(51), [anon_sym_LT_SLASH_GT] = ACTIONS(51), [anon_sym_LT_QMARK_GT] = ACTIONS(51), [anon_sym_PIPE_DOT] = ACTIONS(51), [anon_sym_PIPE_EQ] = ACTIONS(51), [sym__virtual_end_decl] = ACTIONS(267), [sym__virtual_end_section] = ACTIONS(267), [sym_minus_without_trailing_whitespace] = ACTIONS(269), }, [15] = { [sym_block_comment] = STATE(15), [sym_upper_case_qid] = STATE(141), [sym_value_qid] = STATE(141), [sym_field_accessor_function_expr] = STATE(187), [sym_operator_as_function_expr] = STATE(187), [sym__operator_as_function_inner] = STATE(186), [sym__atom] = STATE(165), [sym_field_access_expr] = STATE(149), [sym__field_access_start] = STATE(714), [sym_negate_expr] = STATE(187), [sym_parenthesized_expr] = STATE(149), [sym__literal_expr_group] = STATE(187), [sym_char_constant_expr] = STATE(168), [sym_number_constant_expr] = STATE(168), [sym_string_constant_expr] = STATE(168), [sym_anonymous_function_expr] = STATE(187), [sym_value_expr] = STATE(149), [sym_tuple_expr] = STATE(187), [sym_unit_expr] = STATE(187), [sym_list_expr] = STATE(187), [sym_record_expr] = STATE(149), [sym_if_else_expr] = STATE(187), [sym__if] = STATE(902), [sym_case_of_expr] = STATE(187), [sym_let_in_expr] = STATE(187), [sym_glsl_code_expr] = STATE(187), [aux_sym_function_call_expr_repeat1] = STATE(14), [sym_lower_case_identifier] = ACTIONS(272), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(274), [anon_sym_RPAREN] = ACTIONS(101), [anon_sym_LBRACE] = ACTIONS(276), [anon_sym_SQUOTE] = ACTIONS(278), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(280), [anon_sym_DQUOTE] = ACTIONS(282), [anon_sym_LBRACK] = ACTIONS(284), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(286), [anon_sym_COLON_COLON] = ACTIONS(101), [sym__glsl_begin] = ACTIONS(288), [sym_upper_case_identifier] = ACTIONS(290), [sym_number_literal] = ACTIONS(292), [sym_case] = ACTIONS(294), [sym_backslash] = ACTIONS(296), [sym_dot] = ACTIONS(298), [anon_sym_PLUS] = ACTIONS(101), [anon_sym_DASH] = ACTIONS(101), [anon_sym_STAR] = ACTIONS(101), [anon_sym_SLASH] = ACTIONS(101), [anon_sym_SLASH_SLASH] = ACTIONS(101), [anon_sym_CARET] = ACTIONS(101), [anon_sym_EQ_EQ] = ACTIONS(101), [anon_sym_SLASH_EQ] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_EQ] = ACTIONS(101), [anon_sym_GT_EQ] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_PIPE_PIPE] = ACTIONS(101), [anon_sym_PLUS_PLUS] = ACTIONS(101), [anon_sym_LT_PIPE] = ACTIONS(101), [anon_sym_PIPE_GT] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_GT_GT] = ACTIONS(101), [anon_sym_LT_SLASH_GT] = ACTIONS(101), [anon_sym_LT_QMARK_GT] = ACTIONS(101), [anon_sym_PIPE_DOT] = ACTIONS(101), [anon_sym_PIPE_EQ] = ACTIONS(101), [sym__virtual_end_decl] = ACTIONS(300), [sym__virtual_end_section] = ACTIONS(300), [sym_minus_without_trailing_whitespace] = ACTIONS(302), }, [16] = { [sym_block_comment] = STATE(16), [sym_upper_case_qid] = STATE(141), [sym_value_qid] = STATE(141), [sym_field_accessor_function_expr] = STATE(187), [sym_operator_as_function_expr] = STATE(187), [sym__operator_as_function_inner] = STATE(186), [sym__atom] = STATE(165), [sym_field_access_expr] = STATE(149), [sym__field_access_start] = STATE(714), [sym_negate_expr] = STATE(187), [sym_parenthesized_expr] = STATE(149), [sym__literal_expr_group] = STATE(187), [sym_char_constant_expr] = STATE(168), [sym_number_constant_expr] = STATE(168), [sym_string_constant_expr] = STATE(168), [sym_anonymous_function_expr] = STATE(187), [sym_value_expr] = STATE(149), [sym_tuple_expr] = STATE(187), [sym_unit_expr] = STATE(187), [sym_list_expr] = STATE(187), [sym_record_expr] = STATE(149), [sym_if_else_expr] = STATE(187), [sym__if] = STATE(902), [sym_case_of_expr] = STATE(187), [sym_let_in_expr] = STATE(187), [sym_glsl_code_expr] = STATE(187), [aux_sym_function_call_expr_repeat1] = STATE(14), [sym_lower_case_identifier] = ACTIONS(304), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(307), [anon_sym_RPAREN] = ACTIONS(101), [anon_sym_LBRACE] = ACTIONS(310), [anon_sym_SQUOTE] = ACTIONS(313), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(316), [anon_sym_DQUOTE] = ACTIONS(319), [anon_sym_LBRACK] = ACTIONS(322), [anon_sym_if] = ACTIONS(118), [anon_sym_let] = ACTIONS(325), [anon_sym_COLON_COLON] = ACTIONS(101), [sym__glsl_begin] = ACTIONS(328), [sym_upper_case_identifier] = ACTIONS(331), [sym_number_literal] = ACTIONS(334), [sym_case] = ACTIONS(337), [sym_backslash] = ACTIONS(340), [sym_dot] = ACTIONS(343), [anon_sym_PLUS] = ACTIONS(101), [anon_sym_DASH] = ACTIONS(101), [anon_sym_STAR] = ACTIONS(101), [anon_sym_SLASH] = ACTIONS(101), [anon_sym_SLASH_SLASH] = ACTIONS(101), [anon_sym_CARET] = ACTIONS(101), [anon_sym_EQ_EQ] = ACTIONS(101), [anon_sym_SLASH_EQ] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_EQ] = ACTIONS(101), [anon_sym_GT_EQ] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_PIPE_PIPE] = ACTIONS(101), [anon_sym_PLUS_PLUS] = ACTIONS(101), [anon_sym_LT_PIPE] = ACTIONS(101), [anon_sym_PIPE_GT] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_GT_GT] = ACTIONS(101), [anon_sym_LT_SLASH_GT] = ACTIONS(101), [anon_sym_LT_QMARK_GT] = ACTIONS(101), [anon_sym_PIPE_DOT] = ACTIONS(101), [anon_sym_PIPE_EQ] = ACTIONS(101), [sym__virtual_end_decl] = ACTIONS(300), [sym__virtual_end_section] = ACTIONS(300), [sym_minus_without_trailing_whitespace] = ACTIONS(346), }, [17] = { [sym_block_comment] = STATE(17), [sym_upper_case_qid] = STATE(213), [sym_value_qid] = STATE(213), [sym_field_accessor_function_expr] = STATE(235), [sym_operator_as_function_expr] = STATE(235), [sym__operator_as_function_inner] = STATE(233), [sym__atom] = STATE(245), [sym_field_access_expr] = STATE(220), [sym__field_access_start] = STATE(817), [sym_negate_expr] = STATE(235), [sym_parenthesized_expr] = STATE(220), [sym__literal_expr_group] = STATE(235), [sym_char_constant_expr] = STATE(231), [sym_number_constant_expr] = STATE(231), [sym_string_constant_expr] = STATE(231), [sym_anonymous_function_expr] = STATE(235), [sym_value_expr] = STATE(220), [sym_tuple_expr] = STATE(235), [sym_unit_expr] = STATE(235), [sym_list_expr] = STATE(235), [sym_record_expr] = STATE(220), [sym_if_else_expr] = STATE(235), [sym__if] = STATE(862), [sym_case_of_expr] = STATE(235), [sym_let_in_expr] = STATE(235), [sym_glsl_code_expr] = STATE(235), [aux_sym_function_call_expr_repeat1] = STATE(19), [sym_lower_case_identifier] = ACTIONS(349), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(352), [anon_sym_LBRACE] = ACTIONS(355), [anon_sym_SQUOTE] = ACTIONS(358), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(361), [anon_sym_DQUOTE] = ACTIONS(364), [anon_sym_LBRACK] = ACTIONS(367), [anon_sym_if] = ACTIONS(118), [anon_sym_let] = ACTIONS(370), [anon_sym_COLON_COLON] = ACTIONS(101), [sym__glsl_begin] = ACTIONS(373), [sym_upper_case_identifier] = ACTIONS(376), [sym_number_literal] = ACTIONS(379), [sym_case] = ACTIONS(382), [sym_backslash] = ACTIONS(385), [sym_dot] = ACTIONS(388), [anon_sym_PLUS] = ACTIONS(101), [anon_sym_DASH] = ACTIONS(101), [anon_sym_STAR] = ACTIONS(101), [anon_sym_SLASH] = ACTIONS(101), [anon_sym_SLASH_SLASH] = ACTIONS(101), [anon_sym_CARET] = ACTIONS(101), [anon_sym_EQ_EQ] = ACTIONS(101), [anon_sym_SLASH_EQ] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_EQ] = ACTIONS(101), [anon_sym_GT_EQ] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_PIPE_PIPE] = ACTIONS(101), [anon_sym_PLUS_PLUS] = ACTIONS(101), [anon_sym_LT_PIPE] = ACTIONS(101), [anon_sym_PIPE_GT] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_GT_GT] = ACTIONS(101), [anon_sym_LT_SLASH_GT] = ACTIONS(101), [anon_sym_LT_QMARK_GT] = ACTIONS(101), [anon_sym_PIPE_DOT] = ACTIONS(101), [anon_sym_PIPE_EQ] = ACTIONS(101), [sym__virtual_end_decl] = ACTIONS(300), [sym_minus_without_trailing_whitespace] = ACTIONS(391), }, [18] = { [sym_block_comment] = STATE(18), [sym_upper_case_qid] = STATE(213), [sym_value_qid] = STATE(213), [sym_field_accessor_function_expr] = STATE(235), [sym_operator_as_function_expr] = STATE(235), [sym__operator_as_function_inner] = STATE(233), [sym__atom] = STATE(245), [sym_field_access_expr] = STATE(220), [sym__field_access_start] = STATE(817), [sym_negate_expr] = STATE(235), [sym_parenthesized_expr] = STATE(220), [sym__literal_expr_group] = STATE(235), [sym_char_constant_expr] = STATE(231), [sym_number_constant_expr] = STATE(231), [sym_string_constant_expr] = STATE(231), [sym_anonymous_function_expr] = STATE(235), [sym_value_expr] = STATE(220), [sym_tuple_expr] = STATE(235), [sym_unit_expr] = STATE(235), [sym_list_expr] = STATE(235), [sym_record_expr] = STATE(220), [sym_if_else_expr] = STATE(235), [sym__if] = STATE(862), [sym_case_of_expr] = STATE(235), [sym_let_in_expr] = STATE(235), [sym_glsl_code_expr] = STATE(235), [aux_sym_function_call_expr_repeat1] = STATE(19), [sym_lower_case_identifier] = ACTIONS(394), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(396), [anon_sym_LBRACE] = ACTIONS(398), [anon_sym_SQUOTE] = ACTIONS(400), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(402), [anon_sym_DQUOTE] = ACTIONS(404), [anon_sym_LBRACK] = ACTIONS(406), [anon_sym_if] = ACTIONS(159), [anon_sym_let] = ACTIONS(408), [anon_sym_COLON_COLON] = ACTIONS(101), [sym__glsl_begin] = ACTIONS(410), [sym_upper_case_identifier] = ACTIONS(412), [sym_number_literal] = ACTIONS(414), [sym_case] = ACTIONS(416), [sym_backslash] = ACTIONS(418), [sym_dot] = ACTIONS(420), [anon_sym_PLUS] = ACTIONS(101), [anon_sym_DASH] = ACTIONS(101), [anon_sym_STAR] = ACTIONS(101), [anon_sym_SLASH] = ACTIONS(101), [anon_sym_SLASH_SLASH] = ACTIONS(101), [anon_sym_CARET] = ACTIONS(101), [anon_sym_EQ_EQ] = ACTIONS(101), [anon_sym_SLASH_EQ] = ACTIONS(101), [anon_sym_LT] = ACTIONS(101), [anon_sym_GT] = ACTIONS(101), [anon_sym_LT_EQ] = ACTIONS(101), [anon_sym_GT_EQ] = ACTIONS(101), [anon_sym_AMP_AMP] = ACTIONS(101), [anon_sym_PIPE_PIPE] = ACTIONS(101), [anon_sym_PLUS_PLUS] = ACTIONS(101), [anon_sym_LT_PIPE] = ACTIONS(101), [anon_sym_PIPE_GT] = ACTIONS(101), [anon_sym_LT_LT] = ACTIONS(101), [anon_sym_GT_GT] = ACTIONS(101), [anon_sym_LT_SLASH_GT] = ACTIONS(101), [anon_sym_LT_QMARK_GT] = ACTIONS(101), [anon_sym_PIPE_DOT] = ACTIONS(101), [anon_sym_PIPE_EQ] = ACTIONS(101), [sym__virtual_end_decl] = ACTIONS(300), [sym_minus_without_trailing_whitespace] = ACTIONS(422), }, [19] = { [sym_block_comment] = STATE(19), [sym_upper_case_qid] = STATE(213), [sym_value_qid] = STATE(213), [sym_field_accessor_function_expr] = STATE(235), [sym_operator_as_function_expr] = STATE(235), [sym__operator_as_function_inner] = STATE(233), [sym__atom] = STATE(245), [sym_field_access_expr] = STATE(220), [sym__field_access_start] = STATE(817), [sym_negate_expr] = STATE(235), [sym_parenthesized_expr] = STATE(220), [sym__literal_expr_group] = STATE(235), [sym_char_constant_expr] = STATE(231), [sym_number_constant_expr] = STATE(231), [sym_string_constant_expr] = STATE(231), [sym_anonymous_function_expr] = STATE(235), [sym_value_expr] = STATE(220), [sym_tuple_expr] = STATE(235), [sym_unit_expr] = STATE(235), [sym_list_expr] = STATE(235), [sym_record_expr] = STATE(220), [sym_if_else_expr] = STATE(235), [sym__if] = STATE(862), [sym_case_of_expr] = STATE(235), [sym_let_in_expr] = STATE(235), [sym_glsl_code_expr] = STATE(235), [aux_sym_function_call_expr_repeat1] = STATE(19), [sym_lower_case_identifier] = ACTIONS(424), [anon_sym_LBRACE_DASH] = ACTIONS(44), [sym_line_comment] = ACTIONS(46), [anon_sym_LPAREN] = ACTIONS(427), [anon_sym_LBRACE] = ACTIONS(430), [anon_sym_SQUOTE] = ACTIONS(433), [anon_sym_DQUOTE_DQUOTE_DQUOTE] = ACTIONS(436), [anon_sym_DQUOTE] = ACTIONS(439), [anon_sym_LBRACK] = ACTIONS(442), [anon_sym_if] = ACTIONS(68), [anon_sym_let] = ACTIONS(445), [anon_sym_COLON_COLON] = ACTIONS(51), [sym__glsl_begin] = ACTIONS(448), [sym_upper_case_identifier] = ACTIONS(451), [sym_number_literal] = ACTIONS(454), [sym_case] = ACTIONS(457), [sym_backslash] = ACTIONS(460), [sym_dot] = ACTIONS(463), [anon_sym_PLUS] = ACTIONS(51), [anon_sym_DASH] = ACTIONS(51), [anon_sym_STAR] = ACTIONS(51), [anon_sym_SLASH] = ACTIONS(51), [anon_sym_SLASH_SLASH] = ACTIONS(51), [anon_sym_CARET] = ACTIONS(51), [anon_sym_EQ_EQ] = ACTIONS(51), [anon_sym_SLASH_EQ] = ACTIONS(51), [anon_sym_LT] = ACTIONS(51), [anon_sym_GT] = ACTIONS(51), [anon_sym_LT_EQ] = ACTIONS(51), [anon_sym_GT_EQ] = ACTIONS(51), [anon_sym_AMP_AMP] = ACTIONS(51), [anon_sym_PIPE_PIPE] = ACTIONS(51), [anon_sym_PLUS_PLUS] = ACTIONS(51), [anon_sym_LT_PIPE] = ACTIONS(51), [anon_sym_PIPE_GT] = ACTIONS(51), [anon_sym_LT_LT] = ACTIONS(51), [anon_sym_GT_GT] = ACTIONS(51), [anon_sym_LT_SLASH_GT] = ACTIONS(51), [anon_sym_LT_QMARK_GT] = ACTIONS(51), [anon_sym_PIPE_DOT] = ACTIONS(51), [anon_sym_PIPE_EQ] = ACTIONS(51), [sym__virtual_end_decl] = ACTIONS(267), [sym_minus_without_trailing_whitespace] = ACTIONS(466), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(20), 1, sym_block_comment, STATE(21), 1, aux_sym_field_access_expr_repeat1, STATE(33), 1, sym__field_access_segment, ACTIONS(471), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(469), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [68] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(475), 1, sym__dot_without_leading_whitespace, STATE(33), 1, sym__field_access_segment, ACTIONS(478), 2, sym_minus_without_trailing_whitespace, sym_backslash, STATE(21), 2, sym_block_comment, aux_sym_field_access_expr_repeat1, ACTIONS(473), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [136] = 9, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(22), 1, sym_block_comment, STATE(23), 1, aux_sym_bin_op_expr_repeat1, STATE(138), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(484), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(480), 21, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, ACTIONS(482), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [208] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(138), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(491), 2, sym_minus_without_trailing_whitespace, sym_backslash, STATE(23), 2, sym_block_comment, aux_sym_bin_op_expr_repeat1, ACTIONS(486), 21, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, ACTIONS(488), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [278] = 9, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(22), 1, aux_sym_bin_op_expr_repeat1, STATE(24), 1, sym_block_comment, STATE(138), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(495), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(493), 21, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, ACTIONS(482), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [350] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(499), 1, sym__dot_without_leading_whitespace, ACTIONS(502), 2, sym_minus_without_trailing_whitespace, sym_backslash, STATE(25), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(497), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [415] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(506), 1, sym__dot_without_leading_whitespace, STATE(25), 1, aux_sym_upper_case_qid_repeat1, STATE(26), 1, sym_block_comment, ACTIONS(508), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(504), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [482] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(512), 1, sym__dot_without_leading_whitespace, STATE(26), 1, aux_sym_upper_case_qid_repeat1, STATE(27), 1, sym_block_comment, ACTIONS(514), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(510), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [549] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(28), 1, sym_block_comment, ACTIONS(502), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(497), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [611] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(29), 1, sym_block_comment, ACTIONS(520), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(516), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [675] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(522), 1, sym__dot_without_leading_whitespace, STATE(30), 1, sym_block_comment, ACTIONS(502), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(497), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [739] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(31), 1, sym_block_comment, ACTIONS(527), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(525), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [801] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(32), 1, sym_block_comment, ACTIONS(531), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(529), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [863] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(33), 1, sym_block_comment, ACTIONS(535), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(533), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [925] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(34), 1, sym_block_comment, ACTIONS(539), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(537), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [987] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(35), 1, sym_block_comment, ACTIONS(543), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(541), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1049] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(36), 1, sym_block_comment, ACTIONS(547), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(545), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1111] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(37), 1, sym_block_comment, ACTIONS(551), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(549), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1173] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(38), 1, sym_block_comment, ACTIONS(555), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(553), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1235] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(39), 1, sym_block_comment, ACTIONS(560), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(557), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 31, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1301] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(40), 1, sym_block_comment, ACTIONS(565), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(563), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 31, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1367] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(41), 1, sym_block_comment, ACTIONS(569), 3, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(567), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1429] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(42), 1, sym_block_comment, ACTIONS(573), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(571), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1490] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(43), 1, sym_block_comment, ACTIONS(577), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(575), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1551] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(44), 1, sym_block_comment, ACTIONS(581), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(579), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1612] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(45), 1, sym_block_comment, ACTIONS(491), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(486), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1673] = 34, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(583), 1, anon_sym_RBRACK, ACTIONS(585), 1, sym_case, STATE(46), 1, sym_block_comment, STATE(57), 1, sym__operator_as_function_inner, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(800), 1, sym__expression, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [1792] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(47), 1, sym_block_comment, ACTIONS(495), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(493), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1853] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(48), 1, sym_block_comment, ACTIONS(589), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(587), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1914] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(49), 1, sym_block_comment, ACTIONS(593), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(591), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [1975] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(50), 1, sym_block_comment, ACTIONS(597), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(595), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2036] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(51), 1, sym_block_comment, ACTIONS(601), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(599), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2097] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(52), 1, sym_block_comment, ACTIONS(520), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(516), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2158] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(53), 1, sym_block_comment, ACTIONS(560), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(557), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 31, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2221] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(54), 1, sym_block_comment, ACTIONS(605), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(603), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2282] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(55), 1, sym_block_comment, ACTIONS(565), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(563), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 31, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2345] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(56), 1, sym_block_comment, ACTIONS(609), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(607), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2406] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(57), 1, sym_block_comment, ACTIONS(613), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(611), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2467] = 34, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, ACTIONS(615), 1, anon_sym_RBRACK, STATE(57), 1, sym__operator_as_function_inner, STATE(58), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(736), 1, sym__expression, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [2586] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(59), 1, sym_block_comment, ACTIONS(619), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(617), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2647] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(60), 1, sym_block_comment, ACTIONS(623), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(621), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2708] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(61), 1, sym_block_comment, ACTIONS(627), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(625), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2769] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(62), 1, sym_block_comment, ACTIONS(631), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(629), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2830] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(63), 1, sym_block_comment, ACTIONS(635), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(633), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2891] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(64), 1, sym_block_comment, ACTIONS(639), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(637), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [2952] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(65), 1, sym_block_comment, ACTIONS(643), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(641), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3013] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(66), 1, sym_block_comment, ACTIONS(647), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(645), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3074] = 34, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, ACTIONS(649), 1, anon_sym_RBRACK, STATE(57), 1, sym__operator_as_function_inner, STATE(67), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(777), 1, sym__expression, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [3193] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(68), 1, sym_block_comment, ACTIONS(653), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(651), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3254] = 34, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, ACTIONS(655), 1, anon_sym_RBRACK, STATE(57), 1, sym__operator_as_function_inner, STATE(69), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(750), 1, sym__expression, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [3373] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(70), 1, sym_block_comment, ACTIONS(659), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(657), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3434] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(71), 1, sym_block_comment, ACTIONS(663), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(661), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3495] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(72), 1, sym_block_comment, ACTIONS(667), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(665), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3556] = 34, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, ACTIONS(669), 1, anon_sym_RBRACK, STATE(57), 1, sym__operator_as_function_inner, STATE(73), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(705), 1, sym__expression, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [3675] = 34, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, ACTIONS(671), 1, anon_sym_RBRACK, STATE(57), 1, sym__operator_as_function_inner, STATE(74), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(740), 1, sym__expression, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [3794] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(75), 1, sym_block_comment, ACTIONS(675), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(673), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3855] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(76), 1, sym_block_comment, ACTIONS(679), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(677), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3916] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(77), 1, sym_block_comment, ACTIONS(683), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(681), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [3977] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(78), 1, sym_block_comment, ACTIONS(687), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(685), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4038] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(79), 1, sym_block_comment, ACTIONS(691), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(689), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4099] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(80), 1, sym_block_comment, ACTIONS(695), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(693), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4160] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(81), 1, sym_block_comment, ACTIONS(699), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(697), 45, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_else, anon_sym_if, anon_sym_then, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_of, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4221] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(82), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(380), 1, sym__call_or_atom, STATE(443), 1, sym_record_expr, STATE(455), 1, sym_bin_op_expr, STATE(466), 1, sym__expression, STATE(817), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [4337] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(83), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(999), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [4453] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(84), 1, sym_block_comment, STATE(151), 1, sym__call_or_atom, STATE(199), 1, sym__function_call_target, STATE(220), 1, sym_record_expr, STATE(227), 1, sym_bin_op_expr, STATE(233), 1, sym__operator_as_function_inner, STATE(255), 1, sym__expression, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(226), 2, sym_function_call_expr, sym__atom, STATE(229), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(200), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(235), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [4569] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(85), 1, sym_block_comment, STATE(120), 1, aux_sym_field_access_expr_repeat1, STATE(144), 1, sym__field_access_segment, ACTIONS(471), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(469), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4633] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(86), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(714), 1, sym__field_access_start, STATE(717), 1, sym__expression, STATE(882), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [4749] = 9, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(87), 1, sym_block_comment, STATE(116), 1, aux_sym_bin_op_expr_repeat1, STATE(137), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(495), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(493), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(482), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4817] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(88), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(861), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [4933] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(137), 1, sym_operator, STATE(509), 1, sym_operator_identifier, STATE(89), 2, sym_block_comment, aux_sym_bin_op_expr_repeat1, ACTIONS(491), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(486), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(488), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [4999] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(90), 1, sym_block_comment, STATE(151), 1, sym__call_or_atom, STATE(199), 1, sym__function_call_target, STATE(220), 1, sym_record_expr, STATE(227), 1, sym_bin_op_expr, STATE(233), 1, sym__operator_as_function_inner, STATE(256), 1, sym__expression, STATE(817), 1, sym__field_access_start, STATE(864), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(226), 2, sym_function_call_expr, sym__atom, STATE(229), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(200), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(235), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5115] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(91), 1, sym_block_comment, STATE(151), 1, sym__call_or_atom, STATE(199), 1, sym__function_call_target, STATE(220), 1, sym_record_expr, STATE(227), 1, sym_bin_op_expr, STATE(233), 1, sym__operator_as_function_inner, STATE(258), 1, sym__expression, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(226), 2, sym_function_call_expr, sym__atom, STATE(229), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(200), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(235), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5231] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(92), 1, sym_block_comment, STATE(151), 1, sym__call_or_atom, STATE(199), 1, sym__function_call_target, STATE(220), 1, sym_record_expr, STATE(227), 1, sym_bin_op_expr, STATE(233), 1, sym__operator_as_function_inner, STATE(254), 1, sym__expression, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(226), 2, sym_function_call_expr, sym__atom, STATE(229), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(200), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(235), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5347] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(93), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(380), 1, sym__call_or_atom, STATE(443), 1, sym_record_expr, STATE(455), 1, sym_bin_op_expr, STATE(817), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(952), 1, sym__expression, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5463] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(94), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(380), 1, sym__call_or_atom, STATE(443), 1, sym_record_expr, STATE(455), 1, sym_bin_op_expr, STATE(817), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(944), 1, sym__expression, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5579] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(24), 1, sym__call_or_atom, STATE(29), 1, sym_record_expr, STATE(47), 1, sym_bin_op_expr, STATE(57), 1, sym__operator_as_function_inner, STATE(77), 1, sym__expression, STATE(95), 1, sym_block_comment, STATE(214), 1, sym__function_call_target, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(53), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(81), 2, sym_function_call_expr, sym__atom, STATE(39), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(52), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5695] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(96), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(299), 1, sym__expression, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5811] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(97), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1028), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [5927] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(87), 1, sym__call_or_atom, STATE(98), 1, sym_block_comment, STATE(149), 1, sym_record_expr, STATE(163), 1, sym__expression, STATE(186), 1, sym__operator_as_function_inner, STATE(197), 1, sym_bin_op_expr, STATE(208), 1, sym__function_call_target, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(164), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(192), 2, sym_function_call_expr, sym__atom, STATE(146), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(187), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6043] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(87), 1, sym__call_or_atom, STATE(99), 1, sym_block_comment, STATE(149), 1, sym_record_expr, STATE(186), 1, sym__operator_as_function_inner, STATE(190), 1, sym__expression, STATE(197), 1, sym_bin_op_expr, STATE(208), 1, sym__function_call_target, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(164), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(192), 2, sym_function_call_expr, sym__atom, STATE(146), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(187), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6159] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(87), 1, sym__call_or_atom, STATE(100), 1, sym_block_comment, STATE(149), 1, sym_record_expr, STATE(166), 1, sym__expression, STATE(186), 1, sym__operator_as_function_inner, STATE(197), 1, sym_bin_op_expr, STATE(208), 1, sym__function_call_target, STATE(714), 1, sym__field_access_start, STATE(845), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(164), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(192), 2, sym_function_call_expr, sym__atom, STATE(146), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(187), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6275] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(101), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1029), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6391] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(102), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1031), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6507] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(103), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1032), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6623] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(87), 1, sym__call_or_atom, STATE(104), 1, sym_block_comment, STATE(149), 1, sym_record_expr, STATE(167), 1, sym__expression, STATE(186), 1, sym__operator_as_function_inner, STATE(197), 1, sym_bin_op_expr, STATE(208), 1, sym__function_call_target, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(164), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(192), 2, sym_function_call_expr, sym__atom, STATE(146), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(187), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6739] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(105), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(322), 1, sym__expression, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(855), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6855] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(106), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1034), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [6971] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(107), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(325), 1, sym__expression, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7087] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(108), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(847), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7203] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(109), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(856), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7319] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(110), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1040), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7435] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(111), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(402), 1, sym__expression, STATE(714), 1, sym__field_access_start, STATE(882), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7551] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(112), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(380), 1, sym__call_or_atom, STATE(443), 1, sym_record_expr, STATE(450), 1, sym__expression, STATE(455), 1, sym_bin_op_expr, STATE(817), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7667] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(113), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(392), 1, sym__expression, STATE(714), 1, sym__field_access_start, STATE(882), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7783] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(114), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(401), 1, sym__expression, STATE(714), 1, sym__field_access_start, STATE(892), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [7899] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(115), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(380), 1, sym__call_or_atom, STATE(443), 1, sym_record_expr, STATE(448), 1, sym__expression, STATE(455), 1, sym_bin_op_expr, STATE(817), 1, sym__field_access_start, STATE(829), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8015] = 9, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(89), 1, aux_sym_bin_op_expr_repeat1, STATE(116), 1, sym_block_comment, STATE(137), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(484), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(480), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(482), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [8083] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(117), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(988), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8199] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(118), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(411), 1, sym__expression, STATE(714), 1, sym__field_access_start, STATE(882), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8315] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(119), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(992), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8431] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(749), 1, sym__dot_without_leading_whitespace, STATE(144), 1, sym__field_access_segment, STATE(120), 2, sym_block_comment, aux_sym_field_access_expr_repeat1, ACTIONS(478), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(473), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [8495] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(121), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(714), 1, sym__field_access_start, STATE(882), 1, sym__if, STATE(898), 1, sym__expression, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8611] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(122), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(380), 1, sym__call_or_atom, STATE(443), 1, sym_record_expr, STATE(454), 1, sym__expression, STATE(455), 1, sym_bin_op_expr, STATE(817), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8727] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(123), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(337), 1, sym__call_or_atom, STATE(386), 1, sym_record_expr, STATE(388), 1, sym_bin_op_expr, STATE(714), 1, sym__field_access_start, STATE(870), 1, sym__expression, STATE(882), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8843] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(124), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1035), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [8959] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(125), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1037), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9075] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(24), 1, sym__call_or_atom, STATE(29), 1, sym_record_expr, STATE(47), 1, sym_bin_op_expr, STATE(57), 1, sym__operator_as_function_inner, STATE(78), 1, sym__expression, STATE(126), 1, sym_block_comment, STATE(214), 1, sym__function_call_target, STATE(796), 1, sym__field_access_start, STATE(869), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(53), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(81), 2, sym_function_call_expr, sym__atom, STATE(39), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(52), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9191] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(24), 1, sym__call_or_atom, STATE(29), 1, sym_record_expr, STATE(43), 1, sym__expression, STATE(47), 1, sym_bin_op_expr, STATE(57), 1, sym__operator_as_function_inner, STATE(127), 1, sym_block_comment, STATE(214), 1, sym__function_call_target, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(53), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(81), 2, sym_function_call_expr, sym__atom, STATE(39), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(52), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9307] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(128), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(333), 1, sym__expression, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9423] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(129), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1002), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9539] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(130), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1038), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9655] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(131), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(270), 1, sym__call_or_atom, STATE(292), 1, sym_record_expr, STATE(326), 1, sym_bin_op_expr, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(1039), 1, sym__expression, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9771] = 33, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(24), 1, sym__call_or_atom, STATE(29), 1, sym_record_expr, STATE(47), 1, sym_bin_op_expr, STATE(57), 1, sym__operator_as_function_inner, STATE(72), 1, sym__expression, STATE(132), 1, sym_block_comment, STATE(214), 1, sym__function_call_target, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(53), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(81), 2, sym_function_call_expr, sym__atom, STATE(39), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(52), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [9887] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(752), 1, sym__dot_without_leading_whitespace, STATE(133), 1, sym_block_comment, STATE(134), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(508), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(504), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [9950] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(754), 1, sym__dot_without_leading_whitespace, STATE(134), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(502), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(497), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10011] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(757), 1, sym__dot_without_leading_whitespace, STATE(133), 1, aux_sym_upper_case_qid_repeat1, STATE(135), 1, sym_block_comment, ACTIONS(514), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(510), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10074] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(136), 1, sym_block_comment, ACTIONS(569), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(567), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10132] = 31, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(137), 1, sym_block_comment, STATE(149), 1, sym_record_expr, STATE(175), 1, sym__call_or_atom, STATE(186), 1, sym__operator_as_function_inner, STATE(208), 1, sym__function_call_target, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(164), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(192), 2, sym_function_call_expr, sym__atom, STATE(146), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(187), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [10242] = 31, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(29), 1, sym_record_expr, STATE(45), 1, sym__call_or_atom, STATE(57), 1, sym__operator_as_function_inner, STATE(138), 1, sym_block_comment, STATE(214), 1, sym__function_call_target, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(53), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(81), 2, sym_function_call_expr, sym__atom, STATE(39), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(52), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [10352] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(139), 1, sym_block_comment, ACTIONS(539), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(537), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10410] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(522), 1, sym__dot_without_leading_whitespace, STATE(140), 1, sym_block_comment, ACTIONS(502), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(497), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10470] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(141), 1, sym_block_comment, ACTIONS(555), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(553), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10528] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(142), 1, sym_block_comment, ACTIONS(527), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(525), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10586] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(155), 1, sym_operator, STATE(509), 1, sym_operator_identifier, STATE(143), 2, sym_block_comment, aux_sym_bin_op_expr_repeat1, ACTIONS(491), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(486), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(488), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10650] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(144), 1, sym_block_comment, ACTIONS(535), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(533), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10708] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(145), 1, sym_block_comment, STATE(152), 1, aux_sym_field_access_expr_repeat1, STATE(211), 1, sym__field_access_segment, ACTIONS(471), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(469), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10770] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(146), 1, sym_block_comment, ACTIONS(520), 2, sym__virtual_end_decl, sym__virtual_end_section, ACTIONS(560), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(557), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 25, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10834] = 9, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(143), 1, aux_sym_bin_op_expr_repeat1, STATE(147), 1, sym_block_comment, STATE(155), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(484), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(480), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(482), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [10900] = 31, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(420), 1, sym_dot, ACTIONS(701), 1, anon_sym_LPAREN, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, STATE(148), 1, sym_block_comment, STATE(198), 1, sym__function_call_target, STATE(233), 1, sym__operator_as_function_inner, STATE(443), 1, sym_record_expr, STATE(451), 1, sym__call_or_atom, STATE(817), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(234), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(479), 2, sym_function_call_expr, sym__atom, STATE(218), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(477), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [11010] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(149), 1, sym_block_comment, ACTIONS(520), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(516), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11070] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(150), 1, sym_block_comment, ACTIONS(502), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(497), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11128] = 9, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(147), 1, aux_sym_bin_op_expr_repeat1, STATE(151), 1, sym_block_comment, STATE(155), 1, sym_operator, STATE(509), 1, sym_operator_identifier, ACTIONS(495), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(493), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(482), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11194] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(759), 1, sym__dot_without_leading_whitespace, STATE(211), 1, sym__field_access_segment, STATE(152), 2, sym_block_comment, aux_sym_field_access_expr_repeat1, ACTIONS(478), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(473), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11256] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(153), 1, sym_block_comment, ACTIONS(543), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(541), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11314] = 31, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(159), 1, anon_sym_if, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(173), 1, sym_dot, ACTIONS(177), 1, anon_sym_LPAREN, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, STATE(57), 1, sym__operator_as_function_inner, STATE(154), 1, sym_block_comment, STATE(215), 1, sym__function_call_target, STATE(292), 1, sym_record_expr, STATE(306), 1, sym__call_or_atom, STATE(796), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(55), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(324), 2, sym_function_call_expr, sym__atom, STATE(40), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(298), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [11424] = 31, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(155), 1, sym_block_comment, STATE(199), 1, sym__function_call_target, STATE(220), 1, sym_record_expr, STATE(223), 1, sym__call_or_atom, STATE(233), 1, sym__operator_as_function_inner, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(226), 2, sym_function_call_expr, sym__atom, STATE(229), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(200), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(235), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [11534] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(156), 1, sym_block_comment, ACTIONS(531), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(529), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11592] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(157), 1, sym_block_comment, ACTIONS(547), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(545), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11650] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(158), 1, sym_block_comment, ACTIONS(520), 2, sym__virtual_end_decl, sym__virtual_end_section, ACTIONS(565), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(563), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 25, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11714] = 31, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(298), 1, sym_dot, ACTIONS(725), 1, anon_sym_LPAREN, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, STATE(159), 1, sym_block_comment, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym__function_call_target, STATE(386), 1, sym_record_expr, STATE(393), 1, sym__call_or_atom, STATE(714), 1, sym__field_access_start, STATE(882), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(195), 2, sym_field_accessor_function_expr, sym_operator_as_function_expr, STATE(408), 2, sym_function_call_expr, sym__atom, STATE(158), 3, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(406), 10, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [11824] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(160), 1, sym_block_comment, ACTIONS(551), 5, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(549), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11882] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(161), 1, sym_block_comment, ACTIONS(635), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(633), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11939] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(162), 1, sym_block_comment, ACTIONS(675), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(673), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [11996] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(163), 1, sym_block_comment, ACTIONS(667), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(665), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12053] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(164), 1, sym_block_comment, ACTIONS(520), 2, sym__virtual_end_decl, sym__virtual_end_section, ACTIONS(560), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(557), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 25, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12114] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(165), 1, sym_block_comment, ACTIONS(663), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(661), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12171] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(166), 1, sym_block_comment, ACTIONS(687), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(685), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12228] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(167), 1, sym_block_comment, ACTIONS(683), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(681), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12285] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(168), 1, sym_block_comment, ACTIONS(631), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(629), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12342] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(169), 1, sym_block_comment, ACTIONS(679), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(677), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12399] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(170), 1, sym_block_comment, ACTIONS(647), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(645), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12456] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(171), 1, sym_block_comment, ACTIONS(691), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(689), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12513] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(172), 1, sym_block_comment, ACTIONS(581), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(579), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12570] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(173), 1, sym_block_comment, ACTIONS(627), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(625), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12627] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(174), 1, sym_block_comment, ACTIONS(623), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(621), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12684] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(175), 1, sym_block_comment, ACTIONS(491), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(486), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12741] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(176), 1, sym_block_comment, ACTIONS(573), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(571), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12798] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(177), 1, sym_block_comment, ACTIONS(639), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(637), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12855] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(178), 1, sym_block_comment, ACTIONS(589), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(587), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12912] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(762), 1, sym__dot_without_leading_whitespace, STATE(179), 1, sym_block_comment, STATE(185), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(508), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(504), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [12973] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(180), 1, sym_block_comment, ACTIONS(609), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(607), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13030] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(181), 1, sym_block_comment, ACTIONS(597), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(595), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13087] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(182), 1, sym_block_comment, ACTIONS(601), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(599), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13144] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(183), 1, sym_block_comment, ACTIONS(653), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(651), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13201] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(184), 1, sym_block_comment, ACTIONS(643), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(641), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13258] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(764), 1, sym__dot_without_leading_whitespace, STATE(185), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(502), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(497), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13317] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(186), 1, sym_block_comment, ACTIONS(613), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(611), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13374] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(187), 1, sym_block_comment, ACTIONS(520), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(516), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13431] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(767), 1, sym__dot_without_leading_whitespace, STATE(179), 1, aux_sym_upper_case_qid_repeat1, STATE(188), 1, sym_block_comment, ACTIONS(514), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(510), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13492] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(189), 1, sym_block_comment, ACTIONS(695), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(693), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13549] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(190), 1, sym_block_comment, ACTIONS(577), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(575), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13606] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(191), 1, sym_block_comment, ACTIONS(605), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(603), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13663] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(192), 1, sym_block_comment, ACTIONS(699), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(697), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13720] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(193), 1, sym_block_comment, ACTIONS(619), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(617), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13777] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(194), 1, sym_block_comment, ACTIONS(659), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(657), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13834] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(195), 1, sym_block_comment, ACTIONS(520), 2, sym__virtual_end_decl, sym__virtual_end_section, ACTIONS(565), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(563), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 25, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13895] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(196), 1, sym_block_comment, ACTIONS(593), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(591), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [13952] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(197), 1, sym_block_comment, ACTIONS(495), 4, sym__virtual_end_decl, sym__virtual_end_section, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(493), 39, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14009] = 28, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(18), 1, aux_sym_function_call_expr_repeat1, STATE(198), 1, sym_block_comment, STATE(233), 1, sym__operator_as_function_inner, STATE(245), 1, sym__atom, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(220), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(235), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [14111] = 28, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(17), 1, aux_sym_function_call_expr_repeat1, STATE(199), 1, sym_block_comment, STATE(233), 1, sym__operator_as_function_inner, STATE(245), 1, sym__atom, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(220), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(235), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [14213] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, ACTIONS(520), 1, sym__virtual_end_decl, STATE(200), 1, sym_block_comment, ACTIONS(560), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(557), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14275] = 31, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(31), 1, sym_import, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(769), 1, ts_builtin_sym_end, ACTIONS(771), 1, sym_port, STATE(201), 1, sym_block_comment, STATE(216), 1, aux_sym__import_list, STATE(261), 1, aux_sym__top_decl_list, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(1018), 1, sym_import_clause, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [14383] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(202), 1, sym_block_comment, ACTIONS(547), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(545), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14439] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(203), 1, sym_block_comment, ACTIONS(539), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(537), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14495] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(522), 1, sym__dot_without_leading_whitespace, STATE(204), 1, sym_block_comment, ACTIONS(502), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(497), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14553] = 28, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(15), 1, aux_sym_function_call_expr_repeat1, STATE(165), 1, sym__atom, STATE(186), 1, sym__operator_as_function_inner, STATE(205), 1, sym_block_comment, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(149), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(187), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [14655] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(206), 1, sym_block_comment, ACTIONS(527), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(525), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14711] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(207), 1, sym_block_comment, ACTIONS(543), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(541), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14767] = 28, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(16), 1, aux_sym_function_call_expr_repeat1, STATE(165), 1, sym__atom, STATE(186), 1, sym__operator_as_function_inner, STATE(208), 1, sym_block_comment, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(149), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(187), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [14869] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(209), 1, sym_block_comment, ACTIONS(569), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(567), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14925] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(210), 1, sym_block_comment, ACTIONS(531), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(529), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [14981] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(211), 1, sym_block_comment, ACTIONS(535), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(533), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15037] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(212), 1, sym_block_comment, ACTIONS(502), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(497), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15093] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(213), 1, sym_block_comment, ACTIONS(555), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(553), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15149] = 28, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(3), 1, aux_sym_function_call_expr_repeat1, STATE(57), 1, sym__operator_as_function_inner, STATE(71), 1, sym__atom, STATE(214), 1, sym_block_comment, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(29), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(52), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [15251] = 28, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(4), 1, aux_sym_function_call_expr_repeat1, STATE(57), 1, sym__operator_as_function_inner, STATE(71), 1, sym__atom, STATE(215), 1, sym_block_comment, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(29), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(52), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [15353] = 31, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(31), 1, sym_import, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(771), 1, sym_port, ACTIONS(773), 1, ts_builtin_sym_end, STATE(216), 1, sym_block_comment, STATE(262), 1, aux_sym__top_decl_list, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(508), 1, aux_sym__import_list, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(1018), 1, sym_import_clause, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [15461] = 31, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(31), 1, sym_import, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(771), 1, sym_port, ACTIONS(775), 1, ts_builtin_sym_end, STATE(217), 1, sym_block_comment, STATE(265), 1, aux_sym__top_decl_list, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(508), 1, aux_sym__import_list, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(1018), 1, sym_import_clause, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [15569] = 8, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, ACTIONS(520), 1, sym__virtual_end_decl, STATE(218), 1, sym_block_comment, ACTIONS(565), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(563), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15631] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(219), 1, sym_block_comment, ACTIONS(551), 4, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym__dot_without_leading_whitespace, sym_backslash, ACTIONS(549), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15687] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(220), 1, sym_block_comment, ACTIONS(520), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(516), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15745] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(221), 1, sym_block_comment, ACTIONS(695), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(693), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15800] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(222), 1, sym_block_comment, ACTIONS(679), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(677), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15855] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(223), 1, sym_block_comment, ACTIONS(491), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(486), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [15910] = 27, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(394), 1, sym_lower_case_identifier, ACTIONS(396), 1, anon_sym_LPAREN, ACTIONS(398), 1, anon_sym_LBRACE, ACTIONS(400), 1, anon_sym_SQUOTE, ACTIONS(402), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(404), 1, anon_sym_DQUOTE, ACTIONS(406), 1, anon_sym_LBRACK, ACTIONS(408), 1, anon_sym_let, ACTIONS(410), 1, sym__glsl_begin, ACTIONS(412), 1, sym_upper_case_identifier, ACTIONS(414), 1, sym_number_literal, ACTIONS(416), 1, sym_case, ACTIONS(418), 1, sym_backslash, ACTIONS(420), 1, sym_dot, ACTIONS(422), 1, sym_minus_without_trailing_whitespace, STATE(224), 1, sym_block_comment, STATE(233), 1, sym__operator_as_function_inner, STATE(238), 1, sym__atom, STATE(817), 1, sym__field_access_start, STATE(862), 1, sym__if, STATE(213), 2, sym_upper_case_qid, sym_value_qid, STATE(231), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(220), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(235), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [16009] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(225), 1, sym_block_comment, ACTIONS(635), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(633), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16064] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(226), 1, sym_block_comment, ACTIONS(699), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(697), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16119] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(227), 1, sym_block_comment, ACTIONS(495), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(493), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16174] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(228), 1, sym_block_comment, ACTIONS(605), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(603), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16229] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(520), 1, sym__virtual_end_decl, STATE(229), 1, sym_block_comment, ACTIONS(560), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(557), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16288] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(230), 1, sym_block_comment, ACTIONS(623), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(621), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16343] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(231), 1, sym_block_comment, ACTIONS(631), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(629), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16398] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(232), 1, sym_block_comment, ACTIONS(619), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(617), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16453] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(233), 1, sym_block_comment, ACTIONS(613), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(611), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16508] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(520), 1, sym__virtual_end_decl, STATE(234), 1, sym_block_comment, ACTIONS(565), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(563), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, ACTIONS(516), 24, anon_sym_COLON_COLON, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16567] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(235), 1, sym_block_comment, ACTIONS(520), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(516), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16622] = 27, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(703), 1, anon_sym_LBRACE, ACTIONS(705), 1, anon_sym_SQUOTE, ACTIONS(707), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(709), 1, anon_sym_DQUOTE, ACTIONS(711), 1, anon_sym_LBRACK, ACTIONS(713), 1, anon_sym_let, ACTIONS(715), 1, sym__glsl_begin, ACTIONS(717), 1, sym_number_literal, ACTIONS(719), 1, sym_case, ACTIONS(721), 1, sym_backslash, ACTIONS(723), 1, sym_minus_without_trailing_whitespace, ACTIONS(777), 1, sym_lower_case_identifier, ACTIONS(779), 1, anon_sym_LPAREN, ACTIONS(781), 1, sym_upper_case_identifier, ACTIONS(783), 1, sym_dot, STATE(236), 1, sym_block_comment, STATE(447), 1, sym__atom, STATE(467), 1, sym__operator_as_function_inner, STATE(743), 1, sym__field_access_start, STATE(844), 1, sym__if, STATE(422), 2, sym_upper_case_qid, sym_value_qid, STATE(459), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(443), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(477), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [16721] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(237), 1, sym_block_comment, ACTIONS(609), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(607), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16776] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(238), 1, sym_block_comment, ACTIONS(601), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(599), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16831] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(239), 1, sym_block_comment, ACTIONS(639), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(637), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [16886] = 27, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(145), 1, sym_lower_case_identifier, ACTIONS(147), 1, anon_sym_LPAREN, ACTIONS(149), 1, anon_sym_LBRACE, ACTIONS(151), 1, anon_sym_SQUOTE, ACTIONS(153), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(155), 1, anon_sym_DQUOTE, ACTIONS(157), 1, anon_sym_LBRACK, ACTIONS(159), 1, anon_sym_if, ACTIONS(161), 1, anon_sym_let, ACTIONS(163), 1, sym__glsl_begin, ACTIONS(165), 1, sym_upper_case_identifier, ACTIONS(167), 1, sym_number_literal, ACTIONS(169), 1, sym_case, ACTIONS(171), 1, sym_backslash, ACTIONS(173), 1, sym_dot, ACTIONS(175), 1, sym_minus_without_trailing_whitespace, STATE(51), 1, sym__atom, STATE(57), 1, sym__operator_as_function_inner, STATE(240), 1, sym_block_comment, STATE(796), 1, sym__field_access_start, STATE(866), 1, sym__if, STATE(38), 2, sym_upper_case_qid, sym_value_qid, STATE(62), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(29), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(52), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [16985] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(241), 1, sym_block_comment, ACTIONS(643), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(641), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17040] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(242), 1, sym_block_comment, ACTIONS(597), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(595), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17095] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(243), 1, sym_block_comment, ACTIONS(627), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(625), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17150] = 27, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(727), 1, anon_sym_LBRACE, ACTIONS(729), 1, anon_sym_SQUOTE, ACTIONS(731), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(733), 1, anon_sym_DQUOTE, ACTIONS(735), 1, anon_sym_LBRACK, ACTIONS(737), 1, anon_sym_let, ACTIONS(739), 1, sym__glsl_begin, ACTIONS(741), 1, sym_number_literal, ACTIONS(743), 1, sym_case, ACTIONS(745), 1, sym_backslash, ACTIONS(747), 1, sym_minus_without_trailing_whitespace, ACTIONS(785), 1, sym_lower_case_identifier, ACTIONS(787), 1, anon_sym_LPAREN, ACTIONS(789), 1, sym_upper_case_identifier, ACTIONS(791), 1, sym_dot, STATE(244), 1, sym_block_comment, STATE(391), 1, sym__atom, STATE(417), 1, sym__operator_as_function_inner, STATE(730), 1, sym__field_access_start, STATE(882), 1, sym__if, STATE(365), 2, sym_upper_case_qid, sym_value_qid, STATE(413), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(386), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(406), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [17249] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(245), 1, sym_block_comment, ACTIONS(663), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(661), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17304] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(246), 1, sym_block_comment, ACTIONS(589), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(587), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17359] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(247), 1, sym_block_comment, ACTIONS(573), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(571), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17414] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(248), 1, sym_block_comment, ACTIONS(581), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(579), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17469] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(249), 1, sym_block_comment, ACTIONS(659), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(657), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17524] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(250), 1, sym_block_comment, ACTIONS(647), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(645), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17579] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(251), 1, sym_block_comment, ACTIONS(593), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(591), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17634] = 27, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(181), 1, anon_sym_LBRACE, ACTIONS(183), 1, anon_sym_SQUOTE, ACTIONS(185), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(187), 1, anon_sym_DQUOTE, ACTIONS(189), 1, anon_sym_LBRACK, ACTIONS(191), 1, anon_sym_let, ACTIONS(195), 1, sym__glsl_begin, ACTIONS(197), 1, sym_number_literal, ACTIONS(201), 1, sym_backslash, ACTIONS(203), 1, sym_minus_without_trailing_whitespace, ACTIONS(585), 1, sym_case, ACTIONS(793), 1, sym_lower_case_identifier, ACTIONS(795), 1, anon_sym_LPAREN, ACTIONS(797), 1, sym_upper_case_identifier, ACTIONS(799), 1, sym_dot, STATE(252), 1, sym_block_comment, STATE(313), 1, sym__operator_as_function_inner, STATE(318), 1, sym__atom, STATE(793), 1, sym__field_access_start, STATE(826), 1, sym__if, STATE(284), 2, sym_upper_case_qid, sym_value_qid, STATE(319), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(292), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(298), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [17733] = 27, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(159), 1, anon_sym_if, ACTIONS(272), 1, sym_lower_case_identifier, ACTIONS(274), 1, anon_sym_LPAREN, ACTIONS(276), 1, anon_sym_LBRACE, ACTIONS(278), 1, anon_sym_SQUOTE, ACTIONS(280), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(282), 1, anon_sym_DQUOTE, ACTIONS(284), 1, anon_sym_LBRACK, ACTIONS(286), 1, anon_sym_let, ACTIONS(288), 1, sym__glsl_begin, ACTIONS(290), 1, sym_upper_case_identifier, ACTIONS(292), 1, sym_number_literal, ACTIONS(294), 1, sym_case, ACTIONS(296), 1, sym_backslash, ACTIONS(298), 1, sym_dot, ACTIONS(302), 1, sym_minus_without_trailing_whitespace, STATE(182), 1, sym__atom, STATE(186), 1, sym__operator_as_function_inner, STATE(253), 1, sym_block_comment, STATE(714), 1, sym__field_access_start, STATE(902), 1, sym__if, STATE(141), 2, sym_upper_case_qid, sym_value_qid, STATE(168), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(149), 4, sym_field_access_expr, sym_parenthesized_expr, sym_value_expr, sym_record_expr, STATE(187), 12, sym_field_accessor_function_expr, sym_operator_as_function_expr, sym_negate_expr, sym__literal_expr_group, sym_anonymous_function_expr, sym_tuple_expr, sym_unit_expr, sym_list_expr, sym_if_else_expr, sym_case_of_expr, sym_let_in_expr, sym_glsl_code_expr, [17832] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(254), 1, sym_block_comment, ACTIONS(667), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(665), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17887] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(255), 1, sym_block_comment, ACTIONS(683), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(681), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17942] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(256), 1, sym_block_comment, ACTIONS(687), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(685), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [17997] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(257), 1, sym_block_comment, ACTIONS(691), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(689), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18052] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(258), 1, sym_block_comment, ACTIONS(577), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(575), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18107] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(259), 1, sym_block_comment, ACTIONS(653), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(651), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18162] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(260), 1, sym_block_comment, ACTIONS(675), 3, sym__virtual_end_decl, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(673), 38, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, anon_sym_COLON_COLON, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, anon_sym_PLUS, anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT, anon_sym_GT, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18217] = 28, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(771), 1, sym_port, ACTIONS(773), 1, ts_builtin_sym_end, STATE(261), 1, sym_block_comment, STATE(264), 1, aux_sym__top_decl_list, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [18316] = 28, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(771), 1, sym_port, ACTIONS(801), 1, ts_builtin_sym_end, STATE(262), 1, sym_block_comment, STATE(264), 1, aux_sym__top_decl_list, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [18415] = 28, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(771), 1, sym_port, ACTIONS(775), 1, ts_builtin_sym_end, STATE(263), 1, sym_block_comment, STATE(264), 1, aux_sym__top_decl_list, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [18514] = 27, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(803), 1, ts_builtin_sym_end, ACTIONS(805), 1, sym_lower_case_identifier, ACTIONS(808), 1, anon_sym_LPAREN, ACTIONS(811), 1, anon_sym_LBRACE, ACTIONS(814), 1, anon_sym_SQUOTE, ACTIONS(817), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(820), 1, anon_sym_DQUOTE, ACTIONS(823), 1, anon_sym_LBRACK, ACTIONS(826), 1, sym_upper_case_identifier, ACTIONS(829), 1, sym_number_literal, ACTIONS(832), 1, sym_type, ACTIONS(835), 1, sym_port, ACTIONS(838), 1, sym_infix, ACTIONS(841), 1, sym_underscore, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(264), 2, sym_block_comment, aux_sym__top_decl_list, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [18611] = 28, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(9), 1, sym_lower_case_identifier, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(33), 1, sym_type, ACTIONS(37), 1, sym_infix, ACTIONS(39), 1, sym_underscore, ACTIONS(771), 1, sym_port, ACTIONS(844), 1, ts_builtin_sym_end, STATE(264), 1, aux_sym__top_decl_list, STATE(265), 1, sym_block_comment, STATE(283), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(1009), 1, sym_pattern, STATE(1010), 1, sym_function_declaration_left, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(1015), 6, sym_value_declaration, sym_type_declaration, sym_type_alias_declaration, sym_type_annotation, sym_port_annotation, sym_infix_declaration, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [18710] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(846), 1, sym__dot_without_leading_whitespace, STATE(266), 1, sym_block_comment, STATE(271), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(504), 6, anon_sym_LBRACE, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(508), 26, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18762] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(848), 1, sym__dot_without_leading_whitespace, STATE(267), 1, sym_block_comment, STATE(268), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(504), 9, anon_sym_LBRACE, sym_lower_case_identifier, sym_as, sym_exposing, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(508), 23, sym__virtual_end_decl, anon_sym_LPAREN, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18814] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(850), 1, sym__dot_without_leading_whitespace, STATE(268), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(497), 9, anon_sym_LBRACE, sym_lower_case_identifier, sym_as, sym_exposing, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 23, sym__virtual_end_decl, anon_sym_LPAREN, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18864] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(154), 1, sym_operator, STATE(269), 1, sym_block_comment, STATE(273), 1, aux_sym_bin_op_expr_repeat1, STATE(509), 1, sym_operator_identifier, ACTIONS(482), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(484), 7, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, sym_of, ACTIONS(853), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18920] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(154), 1, sym_operator, STATE(269), 1, aux_sym_bin_op_expr_repeat1, STATE(270), 1, sym_block_comment, STATE(509), 1, sym_operator_identifier, ACTIONS(482), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(495), 7, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, sym_of, ACTIONS(853), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [18976] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(855), 1, sym__dot_without_leading_whitespace, STATE(271), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(497), 6, anon_sym_LBRACE, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 26, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19026] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(272), 1, sym_block_comment, STATE(274), 1, aux_sym_field_access_expr_repeat1, STATE(285), 1, sym__field_access_segment, ACTIONS(469), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(471), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19078] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(154), 1, sym_operator, STATE(509), 1, sym_operator_identifier, STATE(273), 2, sym_block_comment, aux_sym_bin_op_expr_repeat1, ACTIONS(488), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(491), 7, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, sym_of, ACTIONS(858), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19132] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(861), 1, sym__dot_without_leading_whitespace, STATE(285), 1, sym__field_access_segment, STATE(274), 2, sym_block_comment, aux_sym_field_access_expr_repeat1, ACTIONS(473), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(478), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19184] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(275), 1, sym_block_comment, ACTIONS(567), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(569), 28, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_exposing, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19231] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(276), 1, sym_block_comment, ACTIONS(497), 9, anon_sym_LBRACE, sym_lower_case_identifier, sym_as, sym_exposing, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 24, sym__virtual_end_decl, anon_sym_LPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19278] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(864), 1, sym__dot_without_leading_whitespace, STATE(277), 1, sym_block_comment, STATE(280), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(510), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(514), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19329] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(278), 1, sym_block_comment, ACTIONS(541), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(543), 28, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_exposing, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19376] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(279), 1, sym_block_comment, ACTIONS(497), 6, anon_sym_LBRACE, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 27, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19423] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(866), 1, sym__dot_without_leading_whitespace, STATE(280), 1, sym_block_comment, STATE(281), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(504), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(508), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19474] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(868), 1, sym__dot_without_leading_whitespace, STATE(281), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(497), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19523] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(282), 1, sym_block_comment, ACTIONS(497), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19569] = 20, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(871), 1, sym_lower_case_identifier, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(877), 1, sym_as, STATE(283), 1, sym_block_comment, STATE(288), 1, aux_sym_union_pattern_repeat1, STATE(501), 1, sym__union_argument_pattern, STATE(504), 1, sym_upper_case_qid, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, ACTIONS(875), 6, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_eq, sym_arrow, STATE(489), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_nullary_constructor_argument_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [19645] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(284), 1, sym_block_comment, ACTIONS(553), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(555), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19691] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(285), 1, sym_block_comment, ACTIONS(533), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(535), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19737] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(286), 1, sym_block_comment, ACTIONS(525), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(527), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19783] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(287), 1, sym_block_comment, ACTIONS(549), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(551), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19829] = 20, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(871), 1, sym_lower_case_identifier, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(881), 1, sym_as, STATE(288), 1, sym_block_comment, STATE(293), 1, aux_sym_union_pattern_repeat1, STATE(501), 1, sym__union_argument_pattern, STATE(504), 1, sym_upper_case_qid, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, ACTIONS(879), 6, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_eq, sym_arrow, STATE(489), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_nullary_constructor_argument_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [19905] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(522), 1, sym__dot_without_leading_whitespace, STATE(289), 1, sym_block_comment, ACTIONS(497), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19953] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(290), 1, sym_block_comment, ACTIONS(537), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(539), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [19999] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(291), 1, sym_block_comment, ACTIONS(545), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(547), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20045] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(292), 1, sym_block_comment, ACTIONS(516), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(520), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20093] = 19, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(883), 1, sym_lower_case_identifier, ACTIONS(886), 1, anon_sym_LPAREN, ACTIONS(891), 1, anon_sym_LBRACE, ACTIONS(894), 1, anon_sym_SQUOTE, ACTIONS(897), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(900), 1, anon_sym_DQUOTE, ACTIONS(903), 1, anon_sym_LBRACK, ACTIONS(906), 1, sym_upper_case_identifier, ACTIONS(909), 1, sym_number_literal, ACTIONS(912), 1, sym_as, ACTIONS(914), 1, sym_underscore, STATE(501), 1, sym__union_argument_pattern, STATE(504), 1, sym_upper_case_qid, STATE(293), 2, sym_block_comment, aux_sym_union_pattern_repeat1, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, ACTIONS(889), 6, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_eq, sym_arrow, STATE(489), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_nullary_constructor_argument_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [20167] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(294), 1, sym_block_comment, ACTIONS(529), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(531), 27, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20213] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(295), 1, sym_block_comment, ACTIONS(591), 6, sym_eq, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(593), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20259] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(296), 1, sym_block_comment, ACTIONS(603), 6, anon_sym_LBRACE, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(605), 26, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20305] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(297), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(839), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [20390] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(298), 1, sym_block_comment, ACTIONS(516), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(520), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20435] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(299), 1, sym_block_comment, ACTIONS(681), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(683), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20480] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(300), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(770), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [20565] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(301), 1, sym_block_comment, ACTIONS(677), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(679), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20610] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(302), 1, sym_block_comment, ACTIONS(607), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(609), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20655] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(303), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(713), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [20740] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(304), 1, sym_block_comment, ACTIONS(645), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(647), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20785] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(305), 1, sym_block_comment, ACTIONS(579), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(581), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20830] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(306), 1, sym_block_comment, ACTIONS(486), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(491), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20875] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(307), 1, sym_block_comment, ACTIONS(621), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(623), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [20920] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(308), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(734), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [21005] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(309), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(751), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [21090] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(310), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(790), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [21175] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(311), 1, sym_block_comment, ACTIONS(571), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(573), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21220] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(312), 1, sym_block_comment, ACTIONS(587), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(589), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21265] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(313), 1, sym_block_comment, ACTIONS(611), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(613), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21310] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(314), 1, sym_block_comment, ACTIONS(637), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(639), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21355] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(315), 1, sym_block_comment, ACTIONS(595), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(597), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21400] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(316), 1, sym_block_comment, ACTIONS(651), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(653), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21445] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(317), 1, sym_block_comment, ACTIONS(625), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(627), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21490] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(318), 1, sym_block_comment, ACTIONS(599), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(601), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21535] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(319), 1, sym_block_comment, ACTIONS(629), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(631), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21580] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(320), 1, sym_block_comment, ACTIONS(617), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(619), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21625] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(321), 1, sym_block_comment, ACTIONS(689), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(691), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21670] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(322), 1, sym_block_comment, ACTIONS(685), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(687), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21715] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(323), 1, sym_block_comment, ACTIONS(633), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(635), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21760] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(324), 1, sym_block_comment, ACTIONS(697), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(699), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21805] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(325), 1, sym_block_comment, ACTIONS(575), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(577), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21850] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(326), 1, sym_block_comment, ACTIONS(493), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(495), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21895] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(327), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [21940] = 25, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(917), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(328), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(703), 1, sym__inner_declaration, STATE(890), 1, sym_value_declaration, STATE(891), 1, sym_type_annotation, STATE(954), 1, sym_function_declaration_left, STATE(955), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [22025] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(329), 1, sym_block_comment, ACTIONS(673), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(675), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22070] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(330), 1, sym_block_comment, ACTIONS(641), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(643), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22115] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(331), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22160] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(332), 1, sym_block_comment, ACTIONS(603), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(605), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22205] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(333), 1, sym_block_comment, ACTIONS(665), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(667), 26, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_else, anon_sym_then, anon_sym_COLON_COLON, sym_of, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22250] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(334), 1, sym_block_comment, ACTIONS(603), 6, anon_sym_LBRACE, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(605), 24, sym__virtual_end_decl, anon_sym_LPAREN, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22294] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(159), 1, sym_operator, STATE(509), 1, sym_operator_identifier, STATE(335), 2, sym_block_comment, aux_sym_bin_op_expr_repeat1, ACTIONS(491), 3, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, ACTIONS(488), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(858), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22344] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(159), 1, sym_operator, STATE(335), 1, aux_sym_bin_op_expr_repeat1, STATE(336), 1, sym_block_comment, STATE(509), 1, sym_operator_identifier, ACTIONS(484), 3, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, ACTIONS(482), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(853), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22396] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(159), 1, sym_operator, STATE(336), 1, aux_sym_bin_op_expr_repeat1, STATE(337), 1, sym_block_comment, STATE(509), 1, sym_operator_identifier, ACTIONS(495), 3, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, ACTIONS(482), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(853), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22448] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(919), 1, sym__dot_without_leading_whitespace, STATE(363), 1, sym__field_access_segment, STATE(338), 2, sym_block_comment, aux_sym_field_access_expr_repeat1, ACTIONS(473), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(478), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22496] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(338), 1, aux_sym_field_access_expr_repeat1, STATE(339), 1, sym_block_comment, STATE(363), 1, sym__field_access_segment, ACTIONS(469), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(471), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [22544] = 23, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(924), 1, sym_arrow, STATE(340), 1, sym_block_comment, STATE(342), 1, aux_sym_anonymous_function_expr_repeat1, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [22623] = 23, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(926), 1, sym_arrow, STATE(341), 1, sym_block_comment, STATE(342), 1, aux_sym_anonymous_function_expr_repeat1, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [22702] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(928), 1, sym_lower_case_identifier, ACTIONS(931), 1, anon_sym_LPAREN, ACTIONS(934), 1, anon_sym_LBRACE, ACTIONS(937), 1, anon_sym_SQUOTE, ACTIONS(940), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(943), 1, anon_sym_DQUOTE, ACTIONS(946), 1, anon_sym_LBRACK, ACTIONS(949), 1, sym_upper_case_identifier, ACTIONS(952), 1, sym_number_literal, ACTIONS(955), 1, sym_arrow, ACTIONS(957), 1, sym_underscore, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(342), 2, sym_block_comment, aux_sym_anonymous_function_expr_repeat1, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [22779] = 23, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(960), 1, sym_arrow, STATE(342), 1, aux_sym_anonymous_function_expr_repeat1, STATE(343), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [22858] = 23, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(962), 1, sym_arrow, STATE(342), 1, aux_sym_anonymous_function_expr_repeat1, STATE(344), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [22937] = 23, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(964), 1, sym_arrow, STATE(342), 1, aux_sym_anonymous_function_expr_repeat1, STATE(345), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23016] = 23, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(966), 1, sym_arrow, STATE(342), 1, aux_sym_anonymous_function_expr_repeat1, STATE(346), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23095] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(968), 1, sym__dot_without_leading_whitespace, STATE(266), 1, aux_sym_upper_case_qid_repeat1, STATE(347), 1, sym_block_comment, ACTIONS(510), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(514), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [23142] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(348), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(658), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23218] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(343), 1, aux_sym_anonymous_function_expr_repeat1, STATE(349), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23294] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(350), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(639), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23370] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(351), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(719), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23446] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(491), 1, sym__virtual_end_decl, STATE(148), 1, sym_operator, STATE(509), 1, sym_operator_identifier, STATE(352), 2, sym_block_comment, aux_sym_bin_op_expr_repeat1, ACTIONS(488), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(858), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [23494] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(522), 1, sym__dot_without_leading_whitespace, STATE(353), 1, sym_block_comment, ACTIONS(497), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [23538] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(354), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(663), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23614] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(355), 1, sym_block_comment, ACTIONS(541), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(543), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [23656] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(356), 1, sym_block_comment, ACTIONS(537), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(539), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [23698] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(344), 1, aux_sym_anonymous_function_expr_repeat1, STATE(357), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23774] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(358), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(654), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23850] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(359), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(657), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [23926] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(345), 1, aux_sym_anonymous_function_expr_repeat1, STATE(360), 1, sym_block_comment, STATE(368), 1, sym_upper_case_qid, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24002] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(970), 1, anon_sym_RPAREN, STATE(283), 1, sym_upper_case_qid, STATE(361), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(886), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24078] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(362), 1, sym_block_comment, ACTIONS(525), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(527), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24120] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(363), 1, sym_block_comment, ACTIONS(533), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(535), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24162] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(972), 1, anon_sym_RBRACK, STATE(283), 1, sym_upper_case_qid, STATE(364), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(748), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24238] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(365), 1, sym_block_comment, ACTIONS(553), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(555), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24280] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(366), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(636), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24356] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(367), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(666), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24432] = 10, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(368), 1, sym_block_comment, STATE(373), 1, aux_sym_union_pattern_repeat1, STATE(501), 1, sym__union_argument_pattern, STATE(504), 1, sym_upper_case_qid, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, ACTIONS(877), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(875), 9, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_arrow, sym_underscore, STATE(489), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_nullary_constructor_argument_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [24484] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(369), 1, sym_block_comment, ACTIONS(549), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(551), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24526] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(370), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(675), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24602] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(346), 1, aux_sym_anonymous_function_expr_repeat1, STATE(368), 1, sym_upper_case_qid, STATE(371), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24678] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(974), 1, sym__dot_without_leading_whitespace, STATE(436), 1, sym__field_access_segment, STATE(372), 2, sym_block_comment, aux_sym_field_access_expr_repeat1, ACTIONS(473), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(478), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24724] = 10, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(293), 1, aux_sym_union_pattern_repeat1, STATE(373), 1, sym_block_comment, STATE(501), 1, sym__union_argument_pattern, STATE(504), 1, sym_upper_case_qid, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, ACTIONS(881), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(879), 9, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_arrow, sym_underscore, STATE(489), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_nullary_constructor_argument_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [24776] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(341), 1, aux_sym_anonymous_function_expr_repeat1, STATE(368), 1, sym_upper_case_qid, STATE(374), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [24852] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(375), 1, sym_block_comment, ACTIONS(545), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(547), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24894] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(484), 1, sym__virtual_end_decl, STATE(148), 1, sym_operator, STATE(352), 1, aux_sym_bin_op_expr_repeat1, STATE(376), 1, sym_block_comment, STATE(509), 1, sym_operator_identifier, ACTIONS(482), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(853), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [24944] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(377), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(638), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [25020] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(378), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(651), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [25096] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(372), 1, aux_sym_field_access_expr_repeat1, STATE(379), 1, sym_block_comment, STATE(436), 1, sym__field_access_segment, ACTIONS(469), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(471), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25142] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(495), 1, sym__virtual_end_decl, STATE(148), 1, sym_operator, STATE(376), 1, aux_sym_bin_op_expr_repeat1, STATE(380), 1, sym_block_comment, STATE(509), 1, sym_operator_identifier, ACTIONS(482), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(853), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25192] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(381), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(620), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [25268] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(340), 1, aux_sym_anonymous_function_expr_repeat1, STATE(368), 1, sym_upper_case_qid, STATE(382), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(545), 1, sym_pattern, STATE(956), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [25344] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(970), 1, anon_sym_RPAREN, STATE(283), 1, sym_upper_case_qid, STATE(383), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(893), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [25420] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(384), 1, sym_block_comment, ACTIONS(567), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(569), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25462] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(385), 1, sym_block_comment, ACTIONS(529), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(531), 23, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25504] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(386), 1, sym_block_comment, ACTIONS(516), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(520), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25548] = 22, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(387), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(660), 1, sym_case_of_branch, STATE(1007), 1, sym__single_pattern_cons, STATE(1049), 1, sym_pattern, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [25624] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(388), 1, sym_block_comment, ACTIONS(493), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(495), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25665] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(389), 1, sym_block_comment, ACTIONS(633), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(635), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25706] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(390), 1, sym_block_comment, ACTIONS(689), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(691), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25747] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(391), 1, sym_block_comment, ACTIONS(599), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(601), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25788] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(392), 1, sym_block_comment, ACTIONS(575), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(577), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25829] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(393), 1, sym_block_comment, ACTIONS(486), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(491), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25870] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(394), 1, sym_block_comment, ACTIONS(651), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(653), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25911] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(395), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25952] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(396), 1, sym_block_comment, ACTIONS(617), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(619), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [25993] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(397), 1, sym_block_comment, ACTIONS(571), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(573), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26034] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(398), 1, sym_block_comment, ACTIONS(587), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(589), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26075] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(399), 1, sym_block_comment, ACTIONS(673), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(675), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26116] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(977), 1, sym__dot_without_leading_whitespace, STATE(267), 1, aux_sym_upper_case_qid_repeat1, STATE(400), 1, sym_block_comment, ACTIONS(510), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(514), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26161] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(401), 1, sym_block_comment, ACTIONS(685), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(687), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26202] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(402), 1, sym_block_comment, ACTIONS(665), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(667), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26243] = 21, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(403), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(846), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [26316] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(404), 1, sym_block_comment, ACTIONS(621), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(623), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26357] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(405), 1, sym_block_comment, ACTIONS(595), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(597), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26398] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(406), 1, sym_block_comment, ACTIONS(516), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(520), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26439] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(407), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26480] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(408), 1, sym_block_comment, ACTIONS(697), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(699), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26521] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(409), 1, sym_block_comment, ACTIONS(641), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(643), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26562] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(410), 1, sym_block_comment, ACTIONS(637), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(639), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26603] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(411), 1, sym_block_comment, ACTIONS(681), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(683), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26644] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(412), 1, sym_block_comment, ACTIONS(625), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(627), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26685] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(413), 1, sym_block_comment, ACTIONS(629), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(631), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26726] = 21, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(414), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(894), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [26799] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(415), 1, sym_block_comment, ACTIONS(607), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(609), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26840] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(416), 1, sym_block_comment, ACTIONS(591), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(593), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26881] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(417), 1, sym_block_comment, ACTIONS(611), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(613), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [26922] = 21, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(11), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(418), 1, sym_block_comment, STATE(490), 1, sym__parenthesized_pattern, STATE(513), 1, sym__single_pattern, STATE(514), 1, sym_cons_pattern, STATE(706), 1, sym_pattern, STATE(1007), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(507), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, [26995] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(419), 1, sym_block_comment, ACTIONS(579), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(581), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27036] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(420), 1, sym_block_comment, ACTIONS(645), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(647), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27077] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(421), 1, sym_block_comment, ACTIONS(677), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(679), 22, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27118] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(422), 1, sym_block_comment, ACTIONS(553), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(555), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27158] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(423), 1, sym_block_comment, ACTIONS(529), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(531), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27198] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(979), 1, anon_sym_RPAREN, STATE(424), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27240] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(425), 1, sym_block_comment, ACTIONS(545), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(547), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27280] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(982), 1, anon_sym_RPAREN, STATE(426), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27322] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(427), 1, sym_block_comment, ACTIONS(537), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(539), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27362] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(522), 1, sym__dot_without_leading_whitespace, STATE(428), 1, sym_block_comment, ACTIONS(497), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(502), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27404] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(985), 1, anon_sym_RPAREN, STATE(429), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27446] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(430), 1, sym_block_comment, ACTIONS(525), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(527), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27486] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(988), 1, anon_sym_RPAREN, STATE(431), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27528] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(991), 1, anon_sym_RPAREN, STATE(432), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27570] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(994), 1, anon_sym_RPAREN, STATE(433), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27612] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(434), 1, sym_block_comment, ACTIONS(541), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(543), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27652] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(997), 1, anon_sym_RPAREN, STATE(435), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27694] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(436), 1, sym_block_comment, ACTIONS(533), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(535), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27734] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(437), 1, sym_block_comment, ACTIONS(567), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(569), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27774] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1000), 1, anon_sym_RPAREN, STATE(438), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27816] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1003), 1, anon_sym_RPAREN, STATE(439), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27858] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(440), 1, sym_block_comment, ACTIONS(549), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(551), 21, sym__virtual_end_decl, sym__dot_without_leading_whitespace, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27898] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1006), 1, anon_sym_RPAREN, STATE(441), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27940] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1009), 1, anon_sym_RPAREN, STATE(442), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [27982] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(518), 1, sym__dot_without_leading_whitespace, STATE(443), 1, sym_block_comment, ACTIONS(516), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(520), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28024] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1012), 1, anon_sym_RPAREN, STATE(444), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, anon_sym_COMMA, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28066] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(445), 1, sym_block_comment, ACTIONS(607), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(609), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28105] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(446), 1, sym_block_comment, ACTIONS(633), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(635), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28144] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(447), 1, sym_block_comment, ACTIONS(599), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(601), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28183] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(448), 1, sym_block_comment, ACTIONS(685), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(687), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28222] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(449), 1, sym_block_comment, ACTIONS(689), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(691), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28261] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(450), 1, sym_block_comment, ACTIONS(575), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(577), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28300] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(451), 1, sym_block_comment, ACTIONS(486), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(491), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28339] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(452), 1, sym_block_comment, ACTIONS(693), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(695), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28378] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(453), 1, sym_block_comment, ACTIONS(673), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(675), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28417] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(454), 1, sym_block_comment, ACTIONS(665), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(667), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28456] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(455), 1, sym_block_comment, ACTIONS(493), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(495), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28495] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(456), 1, sym_block_comment, ACTIONS(657), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(659), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28534] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(457), 1, sym_block_comment, ACTIONS(641), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(643), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28573] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(458), 1, sym_block_comment, ACTIONS(637), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(639), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28612] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(459), 1, sym_block_comment, ACTIONS(629), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(631), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28651] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(460), 1, sym_block_comment, ACTIONS(625), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(627), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28690] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(461), 1, sym_block_comment, ACTIONS(587), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(589), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28729] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(462), 1, sym_block_comment, ACTIONS(621), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(623), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28768] = 19, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(871), 1, sym_lower_case_identifier, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(1015), 1, anon_sym_COLON_COLON, ACTIONS(1017), 1, sym_as, ACTIONS(1019), 1, sym_eq, ACTIONS(1021), 1, sym_colon, STATE(463), 1, sym_block_comment, STATE(483), 1, aux_sym_function_declaration_left_repeat1, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(546), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [28835] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(464), 1, sym_block_comment, ACTIONS(617), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(619), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28874] = 18, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(922), 1, sym_lower_case_identifier, STATE(283), 1, sym_upper_case_qid, STATE(465), 1, sym_block_comment, STATE(511), 1, sym_cons_pattern, STATE(572), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(490), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [28939] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(466), 1, sym_block_comment, ACTIONS(681), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(683), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [28978] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(467), 1, sym_block_comment, ACTIONS(611), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(613), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29017] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(468), 1, sym_block_comment, ACTIONS(677), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(679), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29056] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(469), 1, sym_block_comment, ACTIONS(591), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(593), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29095] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(470), 1, sym_block_comment, ACTIONS(645), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(647), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29134] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(471), 1, sym_block_comment, ACTIONS(571), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(573), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29173] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(472), 1, sym_block_comment, ACTIONS(595), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(597), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29212] = 18, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(922), 1, sym_lower_case_identifier, STATE(368), 1, sym_upper_case_qid, STATE(473), 1, sym_block_comment, STATE(511), 1, sym_cons_pattern, STATE(541), 1, sym__single_pattern_cons, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(490), 9, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_union_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [29277] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(474), 1, sym_block_comment, ACTIONS(579), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(581), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29316] = 19, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(871), 1, sym_lower_case_identifier, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(1015), 1, anon_sym_COLON_COLON, ACTIONS(1017), 1, sym_as, ACTIONS(1019), 1, sym_eq, ACTIONS(1023), 1, sym_colon, STATE(475), 1, sym_block_comment, STATE(483), 1, aux_sym_function_declaration_left_repeat1, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(546), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [29383] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(476), 1, sym_block_comment, ACTIONS(651), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(653), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29422] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(477), 1, sym_block_comment, ACTIONS(516), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(520), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29461] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(478), 1, sym_block_comment, STATE(981), 1, sym_operator_identifier, ACTIONS(193), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(1025), 19, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29502] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(479), 1, sym_block_comment, ACTIONS(697), 5, anon_sym_PLUS, anon_sym_DASH, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, ACTIONS(699), 20, sym__virtual_end_decl, anon_sym_COLON_COLON, anon_sym_STAR, anon_sym_SLASH_SLASH, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_SLASH_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_PLUS_PLUS, anon_sym_LT_PIPE, anon_sym_PIPE_GT, anon_sym_LT_LT, anon_sym_GT_GT, anon_sym_LT_SLASH_GT, anon_sym_LT_QMARK_GT, anon_sym_PIPE_DOT, anon_sym_PIPE_EQ, [29541] = 15, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1027), 1, sym_lower_case_identifier, ACTIONS(1030), 1, anon_sym_LPAREN, ACTIONS(1033), 1, anon_sym_LBRACE, ACTIONS(1036), 1, anon_sym_SQUOTE, ACTIONS(1039), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(1042), 1, anon_sym_DQUOTE, ACTIONS(1045), 1, anon_sym_LBRACK, ACTIONS(1048), 1, sym_number_literal, ACTIONS(1051), 1, sym_eq, ACTIONS(1053), 1, sym_underscore, STATE(480), 2, sym_block_comment, aux_sym_function_declaration_left_repeat1, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(546), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [29597] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1056), 1, sym__dot_without_leading_whitespace, STATE(481), 1, sym_block_comment, STATE(484), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(510), 6, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_where, sym_as, sym_exposing, ACTIONS(514), 14, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29637] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1058), 1, sym__dot_without_leading_whitespace, STATE(482), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(497), 6, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_where, sym_as, sym_exposing, ACTIONS(502), 14, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29675] = 16, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(13), 1, anon_sym_LBRACE, ACTIONS(15), 1, anon_sym_SQUOTE, ACTIONS(17), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(19), 1, anon_sym_DQUOTE, ACTIONS(21), 1, anon_sym_LBRACK, ACTIONS(25), 1, sym_number_literal, ACTIONS(39), 1, sym_underscore, ACTIONS(873), 1, anon_sym_LPAREN, ACTIONS(922), 1, sym_lower_case_identifier, ACTIONS(1061), 1, sym_eq, STATE(480), 1, aux_sym_function_declaration_left_repeat1, STATE(483), 1, sym_block_comment, STATE(499), 3, sym_char_constant_expr, sym_number_constant_expr, sym_string_constant_expr, STATE(546), 8, sym__literal_expr_group, sym_unit_expr, sym_lower_pattern, sym_anything_pattern, sym_record_pattern, sym_list_pattern, sym_tuple_pattern, sym__parenthesized_pattern, [29733] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1056), 1, sym__dot_without_leading_whitespace, STATE(482), 1, aux_sym_upper_case_qid_repeat1, STATE(484), 1, sym_block_comment, ACTIONS(504), 6, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_where, sym_as, sym_exposing, ACTIONS(508), 14, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29773] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(485), 1, sym_block_comment, ACTIONS(497), 6, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_where, sym_as, sym_exposing, ACTIONS(502), 15, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, sym__dot_without_leading_whitespace, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29808] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(486), 1, sym_block_comment, ACTIONS(1017), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1015), 14, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29840] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(487), 1, sym_block_comment, ACTIONS(603), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(605), 14, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29872] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(488), 1, sym_block_comment, ACTIONS(1063), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1065), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29903] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(489), 1, sym_block_comment, ACTIONS(1067), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1069), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29934] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(490), 1, sym_block_comment, ACTIONS(1071), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1073), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29965] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1079), 1, anon_sym_COLON_COLON, STATE(491), 1, sym_block_comment, ACTIONS(1075), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1077), 12, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [29998] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(492), 1, sym_block_comment, ACTIONS(1081), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1083), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30029] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(493), 1, sym_block_comment, ACTIONS(1085), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1087), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30060] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(494), 1, sym_block_comment, ACTIONS(625), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(627), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30091] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(495), 1, sym_block_comment, ACTIONS(1089), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1091), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30122] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(496), 1, sym_block_comment, ACTIONS(1093), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1095), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30153] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(497), 1, sym_block_comment, ACTIONS(1097), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1099), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30184] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(498), 1, sym_block_comment, ACTIONS(621), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(623), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30215] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(499), 1, sym_block_comment, ACTIONS(629), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(631), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30246] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(500), 1, sym_block_comment, ACTIONS(617), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(619), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30277] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(501), 1, sym_block_comment, ACTIONS(1101), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1103), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30308] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(502), 1, sym_block_comment, ACTIONS(633), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(635), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30339] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(503), 1, sym_block_comment, ACTIONS(1105), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1079), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30370] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(504), 1, sym_block_comment, ACTIONS(1107), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1109), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30401] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(505), 1, sym_block_comment, ACTIONS(1111), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1113), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30432] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(506), 1, sym_block_comment, ACTIONS(1115), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1117), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON_COLON, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30463] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1073), 1, anon_sym_COLON_COLON, STATE(507), 1, sym_block_comment, ACTIONS(1119), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1121), 12, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30496] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1127), 1, sym_import, STATE(1018), 1, sym_import_clause, STATE(508), 2, sym_block_comment, aux_sym__import_list, ACTIONS(1125), 6, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_type, sym_port, sym_infix, ACTIONS(1123), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, sym_upper_case_identifier, sym_number_literal, sym_underscore, [30531] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(509), 1, sym_block_comment, ACTIONS(1132), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(1130), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, [30561] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(510), 1, sym_block_comment, ACTIONS(1136), 2, sym_minus_without_trailing_whitespace, sym_backslash, ACTIONS(1134), 14, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_DQUOTE, anon_sym_LBRACK, anon_sym_if, anon_sym_let, sym__glsl_begin, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_case, sym_dot, [30591] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(511), 1, sym_block_comment, ACTIONS(1138), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1140), 12, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30621] = 12, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1142), 1, sym_lower_case_identifier, ACTIONS(1145), 1, anon_sym_LPAREN, ACTIONS(1150), 1, anon_sym_LBRACE, ACTIONS(1153), 1, sym_upper_case_identifier, STATE(556), 1, sym_upper_case_qid, STATE(559), 1, sym_unit_expr, STATE(564), 1, sym__single_type_expression, STATE(512), 2, sym_block_comment, aux_sym_type_ref_repeat1, ACTIONS(1148), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_arrow, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [30665] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1160), 1, sym_as, STATE(513), 1, sym_block_comment, ACTIONS(1156), 3, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, ACTIONS(1158), 12, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30697] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1166), 1, sym_as, STATE(514), 1, sym_block_comment, ACTIONS(1162), 3, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, ACTIONS(1164), 12, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [30729] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, STATE(515), 1, sym_block_comment, STATE(516), 1, aux_sym_type_ref_repeat1, STATE(556), 1, sym_upper_case_qid, STATE(559), 1, sym_unit_expr, STATE(564), 1, sym__single_type_expression, ACTIONS(1172), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_arrow, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [30775] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, STATE(512), 1, aux_sym_type_ref_repeat1, STATE(516), 1, sym_block_comment, STATE(556), 1, sym_upper_case_qid, STATE(559), 1, sym_unit_expr, STATE(564), 1, sym__single_type_expression, ACTIONS(1176), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_arrow, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [30821] = 15, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, ACTIONS(1178), 1, anon_sym_RPAREN, STATE(515), 1, sym_upper_case_qid, STATE(517), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(628), 1, sym__type_expression_inner, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(789), 1, sym_type_expression, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [30870] = 15, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, ACTIONS(1180), 1, anon_sym_RPAREN, STATE(515), 1, sym_upper_case_qid, STATE(518), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(628), 1, sym__type_expression_inner, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(797), 1, sym_type_expression, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [30919] = 15, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, ACTIONS(1182), 1, anon_sym_RPAREN, STATE(515), 1, sym_upper_case_qid, STATE(519), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(628), 1, sym__type_expression_inner, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(792), 1, sym_type_expression, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [30968] = 12, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1184), 1, sym_lower_case_identifier, ACTIONS(1187), 1, anon_sym_LPAREN, ACTIONS(1190), 1, anon_sym_LBRACE, ACTIONS(1193), 1, sym_upper_case_identifier, STATE(566), 1, sym_unit_expr, STATE(567), 1, sym_upper_case_qid, STATE(574), 1, sym__single_type_expression, STATE(520), 2, sym_block_comment, aux_sym_type_ref_repeat1, ACTIONS(1148), 3, sym__virtual_end_decl, sym__virtual_end_section, sym_arrow, STATE(573), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31011] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(521), 1, sym_block_comment, ACTIONS(1198), 2, anon_sym_LBRACE, anon_sym_DQUOTE, ACTIONS(1196), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [31040] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1200), 1, sym_lower_case_identifier, ACTIONS(1202), 1, anon_sym_LPAREN, ACTIONS(1204), 1, anon_sym_LBRACE, ACTIONS(1206), 1, sym_upper_case_identifier, STATE(522), 1, sym_block_comment, STATE(526), 1, aux_sym_type_ref_repeat1, STATE(566), 1, sym_unit_expr, STATE(567), 1, sym_upper_case_qid, STATE(574), 1, sym__single_type_expression, ACTIONS(1172), 3, sym__virtual_end_decl, sym__virtual_end_section, sym_arrow, STATE(573), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31085] = 15, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(970), 1, anon_sym_RPAREN, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, STATE(515), 1, sym_upper_case_qid, STATE(523), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(628), 1, sym__type_expression_inner, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(745), 1, sym_type_expression, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31134] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(524), 1, sym_block_comment, ACTIONS(1210), 2, anon_sym_LBRACE, anon_sym_DQUOTE, ACTIONS(1208), 13, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, anon_sym_RBRACK, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_eq, sym_arrow, sym_underscore, [31163] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(525), 1, sym_block_comment, ACTIONS(1125), 7, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_import, sym_type, sym_port, sym_infix, ACTIONS(1123), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, sym_upper_case_identifier, sym_number_literal, sym_underscore, [31192] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1200), 1, sym_lower_case_identifier, ACTIONS(1202), 1, anon_sym_LPAREN, ACTIONS(1204), 1, anon_sym_LBRACE, ACTIONS(1206), 1, sym_upper_case_identifier, STATE(520), 1, aux_sym_type_ref_repeat1, STATE(526), 1, sym_block_comment, STATE(566), 1, sym_unit_expr, STATE(567), 1, sym_upper_case_qid, STATE(574), 1, sym__single_type_expression, ACTIONS(1176), 3, sym__virtual_end_decl, sym__virtual_end_section, sym_arrow, STATE(573), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31237] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(527), 1, sym_block_comment, ACTIONS(1212), 6, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_type, sym_port, sym_infix, ACTIONS(803), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, sym_upper_case_identifier, sym_number_literal, sym_underscore, [31265] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(528), 1, sym_block_comment, STATE(537), 1, sym_upper_case_qid, STATE(598), 1, sym_unit_expr, STATE(715), 1, sym__type_expression_inner, STATE(878), 1, sym__single_type_expression, STATE(879), 1, sym_type_ref, STATE(908), 1, sym_type_expression, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31311] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(529), 1, sym_block_comment, STATE(534), 1, aux_sym_type_ref_repeat1, STATE(586), 1, sym__single_type_expression, STATE(598), 1, sym_unit_expr, STATE(611), 1, sym_upper_case_qid, ACTIONS(1176), 2, sym__virtual_end_decl, sym_arrow, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31355] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1222), 1, sym_lower_case_identifier, ACTIONS(1224), 1, sym_line_comment, ACTIONS(1226), 1, anon_sym_LPAREN, ACTIONS(1230), 1, anon_sym_LBRACE, ACTIONS(1232), 1, sym_upper_case_identifier, STATE(530), 1, sym_block_comment, STATE(532), 1, aux_sym_union_variant_repeat1, STATE(583), 1, sym__single_type_expression, STATE(601), 1, sym_upper_case_qid, STATE(604), 1, sym_unit_expr, ACTIONS(1228), 2, sym__virtual_end_decl, anon_sym_PIPE, STATE(605), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31399] = 12, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1234), 1, sym_lower_case_identifier, ACTIONS(1237), 1, sym_line_comment, ACTIONS(1240), 1, anon_sym_LPAREN, ACTIONS(1245), 1, anon_sym_LBRACE, ACTIONS(1248), 1, sym_upper_case_identifier, STATE(583), 1, sym__single_type_expression, STATE(601), 1, sym_upper_case_qid, STATE(604), 1, sym_unit_expr, ACTIONS(1243), 2, sym__virtual_end_decl, anon_sym_PIPE, STATE(531), 2, sym_block_comment, aux_sym_union_variant_repeat1, STATE(605), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31441] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1222), 1, sym_lower_case_identifier, ACTIONS(1224), 1, sym_line_comment, ACTIONS(1226), 1, anon_sym_LPAREN, ACTIONS(1230), 1, anon_sym_LBRACE, ACTIONS(1232), 1, sym_upper_case_identifier, STATE(531), 1, aux_sym_union_variant_repeat1, STATE(532), 1, sym_block_comment, STATE(583), 1, sym__single_type_expression, STATE(601), 1, sym_upper_case_qid, STATE(604), 1, sym_unit_expr, ACTIONS(1251), 2, sym__virtual_end_decl, anon_sym_PIPE, STATE(605), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31485] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1200), 1, sym_lower_case_identifier, ACTIONS(1202), 1, anon_sym_LPAREN, ACTIONS(1204), 1, anon_sym_LBRACE, ACTIONS(1206), 1, sym_upper_case_identifier, STATE(522), 1, sym_upper_case_qid, STATE(533), 1, sym_block_comment, STATE(566), 1, sym_unit_expr, STATE(681), 1, sym__type_expression_inner, STATE(687), 1, sym__single_type_expression, STATE(688), 1, sym_type_ref, STATE(885), 1, sym_type_expression, STATE(573), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31531] = 12, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1253), 1, sym_lower_case_identifier, ACTIONS(1256), 1, anon_sym_LPAREN, ACTIONS(1259), 1, anon_sym_LBRACE, ACTIONS(1262), 1, sym_upper_case_identifier, STATE(586), 1, sym__single_type_expression, STATE(598), 1, sym_unit_expr, STATE(611), 1, sym_upper_case_qid, ACTIONS(1148), 2, sym__virtual_end_decl, sym_arrow, STATE(534), 2, sym_block_comment, aux_sym_type_ref_repeat1, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31573] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(535), 1, sym_block_comment, STATE(537), 1, sym_upper_case_qid, STATE(598), 1, sym_unit_expr, STATE(715), 1, sym__type_expression_inner, STATE(878), 1, sym__single_type_expression, STATE(879), 1, sym_type_ref, STATE(998), 1, sym_type_expression, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31619] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, STATE(515), 1, sym_upper_case_qid, STATE(536), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(628), 1, sym__type_expression_inner, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(897), 1, sym_type_expression, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31665] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(529), 1, aux_sym_type_ref_repeat1, STATE(537), 1, sym_block_comment, STATE(586), 1, sym__single_type_expression, STATE(598), 1, sym_unit_expr, STATE(611), 1, sym_upper_case_qid, ACTIONS(1172), 2, sym__virtual_end_decl, sym_arrow, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31709] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(537), 1, sym_upper_case_qid, STATE(538), 1, sym_block_comment, STATE(598), 1, sym_unit_expr, STATE(715), 1, sym__type_expression_inner, STATE(878), 1, sym__single_type_expression, STATE(879), 1, sym_type_ref, STATE(904), 1, sym_type_expression, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31755] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(537), 1, sym_upper_case_qid, STATE(539), 1, sym_block_comment, STATE(598), 1, sym_unit_expr, STATE(715), 1, sym__type_expression_inner, STATE(878), 1, sym__single_type_expression, STATE(879), 1, sym_type_ref, STATE(977), 1, sym_type_expression, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31801] = 14, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, STATE(515), 1, sym_upper_case_qid, STATE(540), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(628), 1, sym__type_expression_inner, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(895), 1, sym_type_expression, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31847] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1265), 1, anon_sym_COLON_COLON, STATE(541), 1, sym_block_comment, ACTIONS(1138), 4, anon_sym_LBRACE, anon_sym_DQUOTE, sym_lower_case_identifier, sym_as, ACTIONS(1140), 8, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, sym_upper_case_identifier, sym_number_literal, sym_arrow, sym_underscore, [31876] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, ACTIONS(1168), 1, sym_lower_case_identifier, ACTIONS(1170), 1, anon_sym_LPAREN, ACTIONS(1174), 1, anon_sym_LBRACE, STATE(515), 1, sym_upper_case_qid, STATE(542), 1, sym_block_comment, STATE(559), 1, sym_unit_expr, STATE(673), 1, sym_type_ref, STATE(674), 1, sym__single_type_expression, STATE(679), 1, sym__type_expression_inner, STATE(558), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31919] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1200), 1, sym_lower_case_identifier, ACTIONS(1202), 1, anon_sym_LPAREN, ACTIONS(1204), 1, anon_sym_LBRACE, ACTIONS(1206), 1, sym_upper_case_identifier, STATE(522), 1, sym_upper_case_qid, STATE(543), 1, sym_block_comment, STATE(566), 1, sym_unit_expr, STATE(687), 1, sym__single_type_expression, STATE(688), 1, sym_type_ref, STATE(781), 1, sym__type_expression_inner, STATE(573), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [31962] = 13, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1214), 1, sym_lower_case_identifier, ACTIONS(1216), 1, anon_sym_LPAREN, ACTIONS(1218), 1, anon_sym_LBRACE, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(537), 1, sym_upper_case_qid, STATE(544), 1, sym_block_comment, STATE(598), 1, sym_unit_expr, STATE(877), 1, sym__type_expression_inner, STATE(878), 1, sym__single_type_expression, STATE(879), 1, sym_type_ref, STATE(595), 4, sym_type_ref_without_args, sym_type_variable, sym_record_type, sym_tuple_type, [32005] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(545), 1, sym_block_comment, ACTIONS(1269), 2, anon_sym_LBRACE, anon_sym_DQUOTE, ACTIONS(1267), 9, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, sym_upper_case_identifier, sym_lower_case_identifier, sym_number_literal, sym_arrow, sym_underscore, [32030] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(546), 1, sym_block_comment, ACTIONS(1273), 2, anon_sym_LBRACE, anon_sym_DQUOTE, ACTIONS(1271), 8, anon_sym_LPAREN, anon_sym_SQUOTE, anon_sym_DQUOTE_DQUOTE_DQUOTE, anon_sym_LBRACK, sym_lower_case_identifier, sym_number_literal, sym_eq, sym_underscore, [32054] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(848), 1, sym__dot_without_leading_whitespace, STATE(267), 1, aux_sym_upper_case_qid_repeat1, STATE(547), 1, sym_block_comment, ACTIONS(510), 4, anon_sym_LBRACE, sym_lower_case_identifier, sym_as, sym_exposing, ACTIONS(514), 4, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_arrow, [32082] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(510), 1, anon_sym_LBRACE, ACTIONS(846), 1, sym__dot_without_leading_whitespace, STATE(266), 1, aux_sym_upper_case_qid_repeat1, STATE(548), 1, sym_block_comment, ACTIONS(514), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32109] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(510), 1, anon_sym_LBRACE, ACTIONS(1275), 1, sym__dot_without_leading_whitespace, STATE(549), 1, sym_block_comment, STATE(563), 1, aux_sym_upper_case_qid_repeat1, ACTIONS(514), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32133] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1277), 1, sym_lower_case_identifier, ACTIONS(1279), 1, anon_sym_LPAREN, ACTIONS(1281), 1, sym_upper_case_identifier, ACTIONS(1283), 1, sym_double_dot, STATE(550), 1, sym_block_comment, STATE(883), 1, sym__operator_as_function_inner, STATE(718), 3, sym_exposed_value, sym_exposed_type, sym_exposed_operator, [32163] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1287), 1, anon_sym_LBRACE, STATE(551), 1, sym_block_comment, ACTIONS(1285), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32185] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1291), 1, anon_sym_LBRACE, STATE(552), 1, sym_block_comment, ACTIONS(1289), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32207] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1295), 1, anon_sym_LBRACE, STATE(553), 1, sym_block_comment, ACTIONS(1293), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32229] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1299), 1, anon_sym_LBRACE, STATE(554), 1, sym_block_comment, ACTIONS(1297), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32251] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1303), 1, anon_sym_LBRACE, STATE(555), 1, sym_block_comment, ACTIONS(1301), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32273] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1305), 1, anon_sym_LBRACE, STATE(556), 1, sym_block_comment, ACTIONS(1172), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32295] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(497), 1, anon_sym_LBRACE, ACTIONS(1307), 1, sym__dot_without_leading_whitespace, STATE(557), 2, sym_block_comment, aux_sym_upper_case_qid_repeat1, ACTIONS(502), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32317] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1312), 1, anon_sym_LBRACE, STATE(558), 1, sym_block_comment, ACTIONS(1310), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32339] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1316), 1, anon_sym_LBRACE, STATE(559), 1, sym_block_comment, ACTIONS(1314), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32361] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1320), 1, anon_sym_LBRACE, STATE(560), 1, sym_block_comment, ACTIONS(1318), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32383] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1324), 1, anon_sym_LBRACE, STATE(561), 1, sym_block_comment, ACTIONS(1322), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32405] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1328), 1, anon_sym_LBRACE, STATE(562), 1, sym_block_comment, ACTIONS(1326), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32427] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(504), 1, anon_sym_LBRACE, ACTIONS(1275), 1, sym__dot_without_leading_whitespace, STATE(557), 1, aux_sym_upper_case_qid_repeat1, STATE(563), 1, sym_block_comment, ACTIONS(508), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32451] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1332), 1, anon_sym_LBRACE, STATE(564), 1, sym_block_comment, ACTIONS(1330), 7, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32473] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1299), 1, anon_sym_LBRACE, STATE(565), 1, sym_block_comment, ACTIONS(1297), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32494] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1316), 1, anon_sym_LBRACE, STATE(566), 1, sym_block_comment, ACTIONS(1314), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32515] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1305), 1, anon_sym_LBRACE, STATE(567), 1, sym_block_comment, ACTIONS(1172), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32536] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1287), 1, anon_sym_LBRACE, STATE(568), 1, sym_block_comment, ACTIONS(1285), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32557] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1277), 1, sym_lower_case_identifier, ACTIONS(1279), 1, anon_sym_LPAREN, ACTIONS(1281), 1, sym_upper_case_identifier, STATE(569), 1, sym_block_comment, STATE(883), 1, sym__operator_as_function_inner, STATE(836), 3, sym_exposed_value, sym_exposed_type, sym_exposed_operator, [32584] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1324), 1, anon_sym_LBRACE, STATE(570), 1, sym_block_comment, ACTIONS(1322), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32605] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1328), 1, anon_sym_LBRACE, STATE(571), 1, sym_block_comment, ACTIONS(1326), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32626] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1334), 1, anon_sym_COLON_COLON, STATE(572), 1, sym_block_comment, ACTIONS(1140), 6, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACK, sym_as, sym_eq, sym_arrow, [32647] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1312), 1, anon_sym_LBRACE, STATE(573), 1, sym_block_comment, ACTIONS(1310), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32668] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1332), 1, anon_sym_LBRACE, STATE(574), 1, sym_block_comment, ACTIONS(1330), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32689] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(497), 1, anon_sym_LBRACE, STATE(575), 1, sym_block_comment, ACTIONS(502), 7, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, sym__dot_without_leading_whitespace, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32708] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1295), 1, anon_sym_LBRACE, STATE(576), 1, sym_block_comment, ACTIONS(1293), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32729] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1291), 1, anon_sym_LBRACE, STATE(577), 1, sym_block_comment, ACTIONS(1289), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32750] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1320), 1, anon_sym_LBRACE, STATE(578), 1, sym_block_comment, ACTIONS(1318), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32771] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1303), 1, anon_sym_LBRACE, STATE(579), 1, sym_block_comment, ACTIONS(1301), 6, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32792] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1287), 1, anon_sym_LBRACE, STATE(580), 1, sym_block_comment, ACTIONS(1285), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32810] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1328), 1, anon_sym_LBRACE, STATE(581), 1, sym_block_comment, ACTIONS(1326), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32830] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(603), 1, anon_sym_LBRACE, STATE(582), 1, sym_block_comment, ACTIONS(605), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32848] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1338), 1, anon_sym_LBRACE, STATE(583), 1, sym_block_comment, ACTIONS(1336), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32866] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1342), 1, anon_sym_LBRACE, STATE(584), 1, sym_block_comment, ACTIONS(1340), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32884] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1295), 1, anon_sym_LBRACE, STATE(585), 1, sym_block_comment, ACTIONS(1293), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32904] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1332), 1, anon_sym_LBRACE, STATE(586), 1, sym_block_comment, ACTIONS(1330), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [32924] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1295), 1, anon_sym_LBRACE, STATE(587), 1, sym_block_comment, ACTIONS(1293), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32942] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1344), 1, sym_lower_case_identifier, ACTIONS(1346), 1, anon_sym_RBRACE, STATE(588), 1, sym_block_comment, STATE(737), 1, sym_field, STATE(823), 1, sym__record_base, STATE(927), 1, sym__record_inner, STATE(968), 1, sym_record_base_identifier, [32970] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1291), 1, anon_sym_LBRACE, STATE(589), 1, sym_block_comment, ACTIONS(1289), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [32988] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1303), 1, anon_sym_LBRACE, STATE(590), 1, sym_block_comment, ACTIONS(1301), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33006] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1320), 1, anon_sym_LBRACE, STATE(591), 1, sym_block_comment, ACTIONS(1318), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33024] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1344), 1, sym_lower_case_identifier, ACTIONS(1348), 1, anon_sym_RBRACE, STATE(592), 1, sym_block_comment, STATE(737), 1, sym_field, STATE(823), 1, sym__record_base, STATE(913), 1, sym__record_inner, STATE(968), 1, sym_record_base_identifier, [33052] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1299), 1, anon_sym_LBRACE, STATE(593), 1, sym_block_comment, ACTIONS(1297), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33072] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1324), 1, anon_sym_LBRACE, STATE(594), 1, sym_block_comment, ACTIONS(1322), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33092] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1312), 1, anon_sym_LBRACE, STATE(595), 1, sym_block_comment, ACTIONS(1310), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33112] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1328), 1, anon_sym_LBRACE, STATE(596), 1, sym_block_comment, ACTIONS(1326), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33130] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1324), 1, anon_sym_LBRACE, STATE(597), 1, sym_block_comment, ACTIONS(1322), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33148] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1316), 1, anon_sym_LBRACE, STATE(598), 1, sym_block_comment, ACTIONS(1314), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33168] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1344), 1, sym_lower_case_identifier, ACTIONS(1350), 1, anon_sym_RBRACE, STATE(599), 1, sym_block_comment, STATE(737), 1, sym_field, STATE(823), 1, sym__record_base, STATE(934), 1, sym__record_inner, STATE(968), 1, sym_record_base_identifier, [33196] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1344), 1, sym_lower_case_identifier, ACTIONS(1352), 1, anon_sym_RBRACE, STATE(600), 1, sym_block_comment, STATE(737), 1, sym_field, STATE(823), 1, sym__record_base, STATE(968), 1, sym_record_base_identifier, STATE(987), 1, sym__record_inner, [33224] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1305), 1, anon_sym_LBRACE, STATE(601), 1, sym_block_comment, ACTIONS(1172), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33242] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1344), 1, sym_lower_case_identifier, ACTIONS(1354), 1, anon_sym_RBRACE, STATE(602), 1, sym_block_comment, STATE(737), 1, sym_field, STATE(823), 1, sym__record_base, STATE(968), 1, sym_record_base_identifier, STATE(980), 1, sym__record_inner, [33270] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1320), 1, anon_sym_LBRACE, STATE(603), 1, sym_block_comment, ACTIONS(1318), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33290] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1316), 1, anon_sym_LBRACE, STATE(604), 1, sym_block_comment, ACTIONS(1314), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33308] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1312), 1, anon_sym_LBRACE, STATE(605), 1, sym_block_comment, ACTIONS(1310), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33326] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(1299), 1, anon_sym_LBRACE, STATE(606), 1, sym_block_comment, ACTIONS(1297), 6, sym__virtual_end_decl, sym_line_comment, anon_sym_LPAREN, anon_sym_PIPE, sym_upper_case_identifier, sym_lower_case_identifier, [33344] = 9, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1344), 1, sym_lower_case_identifier, ACTIONS(1356), 1, anon_sym_RBRACE, STATE(607), 1, sym_block_comment, STATE(737), 1, sym_field, STATE(823), 1, sym__record_base, STATE(960), 1, sym__record_inner, STATE(968), 1, sym_record_base_identifier, [33372] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1287), 1, anon_sym_LBRACE, STATE(608), 1, sym_block_comment, ACTIONS(1285), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33392] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1291), 1, anon_sym_LBRACE, STATE(609), 1, sym_block_comment, ACTIONS(1289), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33412] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1303), 1, anon_sym_LBRACE, STATE(610), 1, sym_block_comment, ACTIONS(1301), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33432] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1305), 1, anon_sym_LBRACE, STATE(611), 1, sym_block_comment, ACTIONS(1172), 5, sym__virtual_end_decl, anon_sym_LPAREN, sym_upper_case_identifier, sym_lower_case_identifier, sym_arrow, [33452] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1358), 1, anon_sym_DQUOTE, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, STATE(612), 1, sym_block_comment, STATE(618), 1, aux_sym_string_constant_expr_repeat2, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33475] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1364), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, STATE(613), 1, sym_block_comment, STATE(617), 1, aux_sym_string_constant_expr_repeat1, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33498] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1370), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(614), 1, sym_block_comment, STATE(617), 1, aux_sym_string_constant_expr_repeat1, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33521] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1372), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(615), 1, sym_block_comment, STATE(634), 1, aux_sym_string_constant_expr_repeat1, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33544] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1374), 1, anon_sym_DQUOTE, STATE(616), 1, sym_block_comment, STATE(627), 1, aux_sym_string_constant_expr_repeat2, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33567] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1376), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(1378), 1, aux_sym_string_constant_expr_token1, ACTIONS(1381), 2, sym_string_escape, sym_invalid_string_escape, STATE(617), 2, sym_block_comment, aux_sym_string_constant_expr_repeat1, [33588] = 6, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1384), 1, anon_sym_DQUOTE, ACTIONS(1386), 1, aux_sym_string_constant_expr_token2, ACTIONS(1389), 2, sym_string_escape, sym_invalid_string_escape, STATE(618), 2, sym_block_comment, aux_sym_string_constant_expr_repeat2, [33609] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1374), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(619), 1, sym_block_comment, STATE(648), 1, aux_sym_string_constant_expr_repeat1, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33632] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1392), 1, anon_sym_RPAREN, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1396), 1, sym__virtual_end_section, STATE(620), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(900), 1, sym__more_case_of_branches, [33657] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1400), 1, sym_arrow, STATE(621), 2, sym_block_comment, aux_sym_type_expression_repeat1, ACTIONS(1398), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, [33676] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1370), 1, anon_sym_DQUOTE, STATE(618), 1, aux_sym_string_constant_expr_repeat2, STATE(622), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33699] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1405), 1, sym_arrow, STATE(621), 1, aux_sym_type_expression_repeat1, STATE(623), 1, sym_block_comment, ACTIONS(1403), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, [33720] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1407), 1, sym_lower_case_identifier, ACTIONS(1409), 1, anon_sym_RBRACE, STATE(624), 1, sym_block_comment, STATE(746), 1, sym_field_type, STATE(825), 1, sym__record_base, STATE(968), 1, sym_record_base_identifier, [33745] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1407), 1, sym_lower_case_identifier, ACTIONS(1411), 1, anon_sym_RBRACE, STATE(625), 1, sym_block_comment, STATE(783), 1, sym_field_type, STATE(850), 1, sym__record_base, STATE(968), 1, sym_record_base_identifier, [33770] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1413), 1, sym_lower_case_identifier, ACTIONS(1415), 1, sym_upper_case_identifier, STATE(626), 1, sym_block_comment, STATE(1014), 1, sym_value_expr, STATE(422), 2, sym_upper_case_qid, sym_value_qid, [33793] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1417), 1, anon_sym_DQUOTE, STATE(618), 1, aux_sym_string_constant_expr_repeat2, STATE(627), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33816] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1405), 1, sym_arrow, STATE(623), 1, aux_sym_type_expression_repeat1, STATE(628), 1, sym_block_comment, ACTIONS(1419), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, [33837] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1421), 1, anon_sym_DQUOTE, STATE(618), 1, aux_sym_string_constant_expr_repeat2, STATE(629), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33860] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1421), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(617), 1, aux_sym_string_constant_expr_repeat1, STATE(630), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33883] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1423), 1, anon_sym_DQUOTE, STATE(629), 1, aux_sym_string_constant_expr_repeat2, STATE(631), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33906] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1372), 1, anon_sym_DQUOTE, STATE(632), 1, sym_block_comment, STATE(635), 1, aux_sym_string_constant_expr_repeat2, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33929] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1423), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(630), 1, aux_sym_string_constant_expr_repeat1, STATE(633), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33952] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1425), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(617), 1, aux_sym_string_constant_expr_repeat1, STATE(634), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [33975] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1425), 1, anon_sym_DQUOTE, STATE(618), 1, aux_sym_string_constant_expr_repeat2, STATE(635), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [33998] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1427), 1, anon_sym_RPAREN, ACTIONS(1429), 1, sym__virtual_end_section, STATE(636), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(853), 1, sym__more_case_of_branches, [34023] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1431), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(614), 1, aux_sym_string_constant_expr_repeat1, STATE(637), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34046] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1433), 1, anon_sym_RPAREN, ACTIONS(1435), 1, sym__virtual_end_section, STATE(638), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(880), 1, sym__more_case_of_branches, [34071] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1437), 1, anon_sym_RPAREN, ACTIONS(1439), 1, sym__virtual_end_section, STATE(639), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(871), 1, sym__more_case_of_branches, [34096] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1441), 1, sym_as, ACTIONS(1443), 1, sym_exposing, ACTIONS(1445), 1, sym__virtual_end_decl, STATE(640), 1, sym_block_comment, STATE(726), 1, sym_as_clause, STATE(916), 1, sym_exposing_list, [34121] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1447), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(641), 1, sym_block_comment, STATE(644), 1, aux_sym_string_constant_expr_repeat1, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34144] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1431), 1, anon_sym_DQUOTE, STATE(622), 1, aux_sym_string_constant_expr_repeat2, STATE(642), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [34167] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1447), 1, anon_sym_DQUOTE, STATE(612), 1, aux_sym_string_constant_expr_repeat2, STATE(643), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [34190] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1358), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, STATE(617), 1, aux_sym_string_constant_expr_repeat1, STATE(644), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34213] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1407), 1, sym_lower_case_identifier, ACTIONS(1449), 1, anon_sym_RBRACE, STATE(645), 1, sym_block_comment, STATE(786), 1, sym_field_type, STATE(867), 1, sym__record_base, STATE(968), 1, sym_record_base_identifier, [34238] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1407), 1, sym_lower_case_identifier, ACTIONS(1451), 1, anon_sym_RBRACE, STATE(646), 1, sym_block_comment, STATE(798), 1, sym_field_type, STATE(863), 1, sym__record_base, STATE(968), 1, sym_record_base_identifier, [34263] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1364), 1, anon_sym_DQUOTE, STATE(618), 1, aux_sym_string_constant_expr_repeat2, STATE(647), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [34286] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1417), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(617), 1, aux_sym_string_constant_expr_repeat1, STATE(648), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34309] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1453), 1, anon_sym_DQUOTE, STATE(647), 1, aux_sym_string_constant_expr_repeat2, STATE(649), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [34332] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1453), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(613), 1, aux_sym_string_constant_expr_repeat1, STATE(650), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34355] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1455), 1, anon_sym_RPAREN, ACTIONS(1457), 1, sym__virtual_end_section, STATE(651), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(828), 1, sym__more_case_of_branches, [34380] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1459), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(652), 1, sym_block_comment, STATE(656), 1, aux_sym_string_constant_expr_repeat1, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34403] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1459), 1, anon_sym_DQUOTE, STATE(653), 1, sym_block_comment, STATE(655), 1, aux_sym_string_constant_expr_repeat2, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [34426] = 8, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1461), 1, anon_sym_RPAREN, ACTIONS(1463), 1, sym__virtual_end_section, STATE(654), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(824), 1, sym__more_case_of_branches, [34451] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1360), 1, aux_sym_string_constant_expr_token2, ACTIONS(1465), 1, anon_sym_DQUOTE, STATE(618), 1, aux_sym_string_constant_expr_repeat2, STATE(655), 1, sym_block_comment, ACTIONS(1362), 2, sym_string_escape, sym_invalid_string_escape, [34474] = 7, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1366), 1, aux_sym_string_constant_expr_token1, ACTIONS(1465), 1, anon_sym_DQUOTE_DQUOTE_DQUOTE, STATE(617), 1, aux_sym_string_constant_expr_repeat1, STATE(656), 1, sym_block_comment, ACTIONS(1368), 2, sym_string_escape, sym_invalid_string_escape, [34497] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1467), 1, sym__virtual_end_section, STATE(657), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(946), 1, sym__more_case_of_branches, [34519] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1469), 1, sym__virtual_end_section, STATE(658), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(939), 1, sym__more_case_of_branches, [34541] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1471), 1, sym_lower_case_identifier, ACTIONS(1473), 1, sym_eq, STATE(659), 1, sym_block_comment, STATE(668), 1, aux_sym_type_declaration_repeat1, STATE(842), 1, sym_lower_type_name, [34563] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1475), 1, sym__virtual_end_section, STATE(660), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(1050), 1, sym__more_case_of_branches, [34585] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1471), 1, sym_lower_case_identifier, ACTIONS(1477), 1, sym_eq, STATE(661), 1, sym_block_comment, STATE(667), 1, aux_sym_type_declaration_repeat1, STATE(842), 1, sym_lower_type_name, [34607] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1471), 1, sym_lower_case_identifier, ACTIONS(1479), 1, sym_eq, STATE(661), 1, aux_sym_type_declaration_repeat1, STATE(662), 1, sym_block_comment, STATE(842), 1, sym_lower_type_name, [34629] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1481), 1, sym__virtual_end_section, STATE(663), 1, sym_block_comment, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(924), 1, sym__more_case_of_branches, [34651] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1483), 1, anon_sym_PIPE, ACTIONS(1485), 1, sym__virtual_end_decl, STATE(664), 1, sym_block_comment, STATE(677), 1, aux_sym_type_declaration_repeat2, STATE(888), 1, sym__more_union_variants, [34673] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, STATE(665), 1, sym_block_comment, STATE(671), 1, aux_sym__more_case_of_branches_repeat1, ACTIONS(1487), 2, sym__virtual_end_section, anon_sym_RPAREN, [34693] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1489), 1, sym__virtual_end_section, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(666), 1, sym_block_comment, STATE(971), 1, sym__more_case_of_branches, [34715] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1491), 1, sym_lower_case_identifier, ACTIONS(1494), 1, sym_eq, STATE(842), 1, sym_lower_type_name, STATE(667), 2, sym_block_comment, aux_sym_type_declaration_repeat1, [34735] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1471), 1, sym_lower_case_identifier, ACTIONS(1496), 1, sym_eq, STATE(667), 1, aux_sym_type_declaration_repeat1, STATE(668), 1, sym_block_comment, STATE(842), 1, sym_lower_type_name, [34757] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1483), 1, anon_sym_PIPE, ACTIONS(1498), 1, sym__virtual_end_decl, STATE(669), 1, sym_block_comment, STATE(670), 1, aux_sym_type_declaration_repeat2, STATE(888), 1, sym__more_union_variants, [34779] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1500), 1, anon_sym_PIPE, ACTIONS(1503), 1, sym__virtual_end_decl, STATE(888), 1, sym__more_union_variants, STATE(670), 2, sym_block_comment, aux_sym_type_declaration_repeat2, [34799] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1507), 1, sym__virtual_end_decl, ACTIONS(1505), 2, sym__virtual_end_section, anon_sym_RPAREN, STATE(671), 2, sym_block_comment, aux_sym__more_case_of_branches_repeat1, [34817] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1510), 1, anon_sym_LPAREN, STATE(672), 1, sym_block_comment, STATE(901), 1, sym_exposed_union_constructors, ACTIONS(1512), 2, anon_sym_COMMA, anon_sym_RPAREN, [34837] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(673), 1, sym_block_comment, ACTIONS(1514), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_arrow, [34853] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(674), 1, sym_block_comment, ACTIONS(1516), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_arrow, [34869] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1394), 1, sym__virtual_end_decl, ACTIONS(1518), 1, sym__virtual_end_section, STATE(665), 1, aux_sym__more_case_of_branches_repeat1, STATE(675), 1, sym_block_comment, STATE(909), 1, sym__more_case_of_branches, [34891] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1483), 1, anon_sym_PIPE, ACTIONS(1520), 1, sym__virtual_end_decl, STATE(669), 1, aux_sym_type_declaration_repeat2, STATE(676), 1, sym_block_comment, STATE(888), 1, sym__more_union_variants, [34913] = 7, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1483), 1, anon_sym_PIPE, ACTIONS(1522), 1, sym__virtual_end_decl, STATE(670), 1, aux_sym_type_declaration_repeat2, STATE(677), 1, sym_block_comment, STATE(888), 1, sym__more_union_variants, [34935] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1526), 1, aux_sym_string_constant_expr_token2, STATE(678), 1, sym_block_comment, ACTIONS(1524), 3, anon_sym_DQUOTE, sym_string_escape, sym_invalid_string_escape, [34953] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(679), 1, sym_block_comment, ACTIONS(1528), 4, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, sym_arrow, [34969] = 5, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, ACTIONS(1532), 1, aux_sym_string_constant_expr_token1, STATE(680), 1, sym_block_comment, ACTIONS(1530), 3, anon_sym_DQUOTE_DQUOTE_DQUOTE, sym_string_escape, sym_invalid_string_escape, [34987] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1534), 1, sym_arrow, STATE(681), 1, sym_block_comment, STATE(682), 1, aux_sym_type_expression_repeat1, ACTIONS(1419), 2, sym__virtual_end_decl, sym__virtual_end_section, [35007] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1534), 1, sym_arrow, STATE(682), 1, sym_block_comment, STATE(683), 1, aux_sym_type_expression_repeat1, ACTIONS(1403), 2, sym__virtual_end_decl, sym__virtual_end_section, [35027] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1536), 1, sym_arrow, ACTIONS(1398), 2, sym__virtual_end_decl, sym__virtual_end_section, STATE(683), 2, sym_block_comment, aux_sym_type_expression_repeat1, [35045] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1541), 1, anon_sym_RPAREN, STATE(684), 1, sym_block_comment, STATE(695), 1, aux_sym_tuple_type_repeat1, [35064] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1543), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1545), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(685), 1, sym_block_comment, STATE(818), 1, aux_sym_value_qid_repeat1, [35083] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1547), 1, anon_sym_COMMA, ACTIONS(1549), 1, anon_sym_RPAREN, STATE(686), 1, sym_block_comment, STATE(821), 1, aux_sym_exposing_list_repeat1, [35102] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(687), 1, sym_block_comment, ACTIONS(1516), 3, sym__virtual_end_decl, sym__virtual_end_section, sym_arrow, [35117] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(688), 1, sym_block_comment, ACTIONS(1514), 3, sym__virtual_end_decl, sym__virtual_end_section, sym_arrow, [35132] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1551), 1, anon_sym_else, STATE(321), 1, sym__else, STATE(689), 1, sym_block_comment, STATE(833), 1, aux_sym_if_else_expr_repeat1, [35151] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(690), 1, sym_block_comment, ACTIONS(1553), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [35166] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1557), 1, anon_sym_RBRACE, STATE(691), 1, sym_block_comment, STATE(692), 1, aux_sym_record_type_repeat1, [35185] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1559), 1, anon_sym_COMMA, ACTIONS(1562), 1, anon_sym_RBRACE, STATE(692), 2, sym_block_comment, aux_sym_record_type_repeat1, [35202] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(419), 1, sym__else, STATE(693), 1, sym_block_comment, STATE(819), 1, aux_sym_if_else_expr_repeat1, [35221] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1543), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1566), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(694), 1, sym_block_comment, STATE(818), 1, aux_sym_value_qid_repeat1, [35240] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1568), 1, anon_sym_COMMA, ACTIONS(1571), 1, anon_sym_RPAREN, STATE(695), 2, sym_block_comment, aux_sym_tuple_type_repeat1, [35257] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1575), 1, anon_sym_RBRACK, STATE(696), 1, sym_block_comment, STATE(813), 1, aux_sym_list_expr_repeat1, [35276] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1577), 1, anon_sym_COMMA, ACTIONS(1580), 1, anon_sym_RPAREN, STATE(697), 2, sym_block_comment, aux_sym_tuple_pattern_repeat1, [35293] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1584), 1, anon_sym_RPAREN, STATE(698), 1, sym_block_comment, STATE(774), 1, aux_sym_tuple_expr_repeat1, [35312] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1586), 1, anon_sym_else, STATE(449), 1, sym__else, STATE(699), 1, sym_block_comment, STATE(833), 1, aux_sym_if_else_expr_repeat1, [35331] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1588), 1, anon_sym_else, STATE(419), 1, sym__else, STATE(700), 1, sym_block_comment, STATE(819), 1, aux_sym_if_else_expr_repeat1, [35350] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1590), 1, anon_sym_COMMA, ACTIONS(1592), 1, anon_sym_RBRACK, STATE(701), 1, sym_block_comment, STATE(791), 1, aux_sym_list_pattern_repeat1, [35369] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1543), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1594), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(702), 1, sym_block_comment, STATE(818), 1, aux_sym_value_qid_repeat1, [35388] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1598), 1, sym__virtual_end_section, STATE(703), 1, sym_block_comment, STATE(815), 1, aux_sym_let_in_expr_repeat1, [35407] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1600), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1602), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(694), 1, aux_sym_value_qid_repeat1, STATE(704), 1, sym_block_comment, [35426] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1604), 1, anon_sym_RBRACK, STATE(696), 1, aux_sym_list_expr_repeat1, STATE(705), 1, sym_block_comment, [35445] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1606), 1, anon_sym_COMMA, ACTIONS(1608), 1, anon_sym_RPAREN, STATE(706), 1, sym_block_comment, STATE(728), 1, aux_sym_tuple_pattern_repeat1, [35464] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1610), 1, anon_sym_COMMA, ACTIONS(1612), 1, anon_sym_RBRACE, STATE(707), 1, sym_block_comment, STATE(788), 1, aux_sym__record_inner_repeat1, [35483] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1614), 1, anon_sym_RPAREN, STATE(708), 1, sym_block_comment, STATE(757), 1, aux_sym_tuple_expr_repeat1, [35502] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1610), 1, anon_sym_COMMA, ACTIONS(1616), 1, anon_sym_RBRACE, STATE(709), 1, sym_block_comment, STATE(785), 1, aux_sym__record_inner_repeat1, [35521] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1618), 1, anon_sym_COMMA, ACTIONS(1620), 1, anon_sym_RBRACE, STATE(710), 1, sym_block_comment, STATE(722), 1, aux_sym_record_pattern_repeat1, [35540] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1622), 1, anon_sym_RPAREN, STATE(711), 1, sym_block_comment, STATE(774), 1, aux_sym_tuple_expr_repeat1, [35559] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1624), 1, sym__virtual_end_section, STATE(712), 1, sym_block_comment, STATE(822), 1, aux_sym_let_in_expr_repeat1, [35578] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1626), 1, sym__virtual_end_section, STATE(712), 1, aux_sym_let_in_expr_repeat1, STATE(713), 1, sym_block_comment, [35597] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1628), 1, sym__dot_without_leading_whitespace, STATE(85), 1, aux_sym_field_access_expr_repeat1, STATE(144), 1, sym__field_access_segment, STATE(714), 1, sym_block_comment, [35616] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1419), 1, sym__virtual_end_decl, ACTIONS(1630), 1, sym_arrow, STATE(715), 1, sym_block_comment, STATE(779), 1, aux_sym_type_expression_repeat1, [35635] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(716), 1, sym_block_comment, ACTIONS(1632), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [35650] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(717), 1, sym_block_comment, ACTIONS(1634), 3, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, [35665] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1547), 1, anon_sym_COMMA, ACTIONS(1636), 1, anon_sym_RPAREN, STATE(686), 1, aux_sym_exposing_list_repeat1, STATE(718), 1, sym_block_comment, [35684] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(719), 1, sym_block_comment, ACTIONS(1638), 3, sym__virtual_end_decl, sym__virtual_end_section, anon_sym_RPAREN, [35699] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1640), 1, anon_sym_else, STATE(171), 1, sym__else, STATE(720), 1, sym_block_comment, STATE(833), 1, aux_sym_if_else_expr_repeat1, [35718] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1398), 1, sym__virtual_end_decl, ACTIONS(1642), 1, sym_arrow, STATE(721), 2, sym_block_comment, aux_sym_type_expression_repeat1, [35735] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1618), 1, anon_sym_COMMA, ACTIONS(1645), 1, anon_sym_RBRACE, STATE(722), 1, sym_block_comment, STATE(794), 1, aux_sym_record_pattern_repeat1, [35754] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1647), 1, anon_sym_RBRACE, STATE(691), 1, aux_sym_record_type_repeat1, STATE(723), 1, sym_block_comment, [35773] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(724), 1, sym_block_comment, ACTIONS(1649), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [35788] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1651), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(725), 1, sym_block_comment, [35807] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1443), 1, sym_exposing, ACTIONS(1653), 1, sym__virtual_end_decl, STATE(726), 1, sym_block_comment, STATE(969), 1, sym_exposing_list, [35826] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1655), 1, anon_sym_RPAREN, STATE(695), 1, aux_sym_tuple_type_repeat1, STATE(727), 1, sym_block_comment, [35845] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1606), 1, anon_sym_COMMA, ACTIONS(1657), 1, anon_sym_RPAREN, STATE(697), 1, aux_sym_tuple_pattern_repeat1, STATE(728), 1, sym_block_comment, [35864] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1586), 1, anon_sym_else, STATE(474), 1, sym__else, STATE(699), 1, aux_sym_if_else_expr_repeat1, STATE(729), 1, sym_block_comment, [35883] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1659), 1, sym__dot_without_leading_whitespace, STATE(339), 1, aux_sym_field_access_expr_repeat1, STATE(363), 1, sym__field_access_segment, STATE(730), 1, sym_block_comment, [35902] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(44), 1, sym__else, STATE(731), 1, sym_block_comment, STATE(782), 1, aux_sym_if_else_expr_repeat1, [35921] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1661), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1663), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(702), 1, aux_sym_value_qid_repeat1, STATE(732), 1, sym_block_comment, [35940] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1665), 1, sym__virtual_end_section, STATE(733), 1, sym_block_comment, STATE(822), 1, aux_sym_let_in_expr_repeat1, [35959] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1667), 1, sym__virtual_end_section, STATE(733), 1, aux_sym_let_in_expr_repeat1, STATE(734), 1, sym_block_comment, [35978] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(474), 1, sym__else, STATE(699), 1, aux_sym_if_else_expr_repeat1, STATE(735), 1, sym_block_comment, [35997] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1669), 1, anon_sym_RBRACK, STATE(736), 1, sym_block_comment, STATE(764), 1, aux_sym_list_expr_repeat1, [36016] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1610), 1, anon_sym_COMMA, ACTIONS(1671), 1, anon_sym_RBRACE, STATE(707), 1, aux_sym__record_inner_repeat1, STATE(737), 1, sym_block_comment, [36035] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1673), 1, anon_sym_RPAREN, STATE(698), 1, aux_sym_tuple_expr_repeat1, STATE(738), 1, sym_block_comment, [36054] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(739), 1, sym_block_comment, ACTIONS(1675), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [36069] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1677), 1, anon_sym_RBRACK, STATE(740), 1, sym_block_comment, STATE(780), 1, aux_sym_list_expr_repeat1, [36088] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1679), 1, anon_sym_RPAREN, STATE(711), 1, aux_sym_tuple_expr_repeat1, STATE(741), 1, sym_block_comment, [36107] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(742), 1, sym_block_comment, ACTIONS(1681), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [36122] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1683), 1, sym__dot_without_leading_whitespace, STATE(379), 1, aux_sym_field_access_expr_repeat1, STATE(436), 1, sym__field_access_segment, STATE(743), 1, sym_block_comment, [36141] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1685), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(744), 1, sym_block_comment, [36160] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1687), 1, anon_sym_RPAREN, STATE(684), 1, aux_sym_tuple_type_repeat1, STATE(745), 1, sym_block_comment, [36179] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1689), 1, anon_sym_RBRACE, STATE(746), 1, sym_block_comment, STATE(758), 1, aux_sym_record_type_repeat1, [36198] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1691), 1, anon_sym_RPAREN, STATE(711), 1, aux_sym_tuple_expr_repeat1, STATE(747), 1, sym_block_comment, [36217] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1590), 1, anon_sym_COMMA, ACTIONS(1693), 1, anon_sym_RBRACK, STATE(701), 1, aux_sym_list_pattern_repeat1, STATE(748), 1, sym_block_comment, [36236] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1695), 1, sym__virtual_end_section, STATE(749), 1, sym_block_comment, STATE(822), 1, aux_sym_let_in_expr_repeat1, [36255] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1697), 1, anon_sym_RBRACK, STATE(750), 1, sym_block_comment, STATE(761), 1, aux_sym_list_expr_repeat1, [36274] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1699), 1, sym__virtual_end_section, STATE(749), 1, aux_sym_let_in_expr_repeat1, STATE(751), 1, sym_block_comment, [36293] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1701), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1703), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(752), 1, sym_block_comment, STATE(762), 1, aux_sym_value_qid_repeat1, [36312] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1543), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1705), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(753), 1, sym_block_comment, STATE(818), 1, aux_sym_value_qid_repeat1, [36331] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1707), 1, anon_sym_RBRACK, STATE(754), 1, sym_block_comment, STATE(813), 1, aux_sym_list_expr_repeat1, [36350] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(755), 1, sym_block_comment, ACTIONS(1709), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [36365] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1551), 1, anon_sym_else, STATE(305), 1, sym__else, STATE(689), 1, aux_sym_if_else_expr_repeat1, STATE(756), 1, sym_block_comment, [36384] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1711), 1, anon_sym_RPAREN, STATE(757), 1, sym_block_comment, STATE(774), 1, aux_sym_tuple_expr_repeat1, [36403] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1713), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(758), 1, sym_block_comment, [36422] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1715), 1, anon_sym_RBRACE, STATE(759), 1, sym_block_comment, STATE(766), 1, aux_sym_record_type_repeat1, [36441] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1717), 1, anon_sym_RPAREN, STATE(760), 1, sym_block_comment, STATE(774), 1, aux_sym_tuple_expr_repeat1, [36460] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1719), 1, anon_sym_RBRACK, STATE(761), 1, sym_block_comment, STATE(813), 1, aux_sym_list_expr_repeat1, [36479] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1543), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1721), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(762), 1, sym_block_comment, STATE(818), 1, aux_sym_value_qid_repeat1, [36498] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1723), 1, anon_sym_RBRACE, STATE(744), 1, aux_sym_record_type_repeat1, STATE(763), 1, sym_block_comment, [36517] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1725), 1, anon_sym_RBRACK, STATE(764), 1, sym_block_comment, STATE(813), 1, aux_sym_list_expr_repeat1, [36536] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1727), 1, anon_sym_else, STATE(257), 1, sym__else, STATE(765), 1, sym_block_comment, STATE(833), 1, aux_sym_if_else_expr_repeat1, [36555] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1729), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(766), 1, sym_block_comment, [36574] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1731), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(767), 1, sym_block_comment, [36593] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1733), 1, anon_sym_RPAREN, STATE(695), 1, aux_sym_tuple_type_repeat1, STATE(768), 1, sym_block_comment, [36612] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1735), 1, anon_sym_else, STATE(44), 1, sym__else, STATE(769), 1, sym_block_comment, STATE(782), 1, aux_sym_if_else_expr_repeat1, [36631] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1737), 1, sym__virtual_end_section, STATE(770), 1, sym_block_comment, STATE(772), 1, aux_sym_let_in_expr_repeat1, [36650] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(305), 1, sym__else, STATE(689), 1, aux_sym_if_else_expr_repeat1, STATE(771), 1, sym_block_comment, [36669] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1739), 1, sym__virtual_end_section, STATE(772), 1, sym_block_comment, STATE(822), 1, aux_sym_let_in_expr_repeat1, [36688] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1741), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1743), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(753), 1, aux_sym_value_qid_repeat1, STATE(773), 1, sym_block_comment, [36707] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1745), 1, anon_sym_COMMA, ACTIONS(1748), 1, anon_sym_RPAREN, STATE(774), 2, sym_block_comment, aux_sym_tuple_expr_repeat1, [36724] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1750), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1752), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(685), 1, aux_sym_value_qid_repeat1, STATE(775), 1, sym_block_comment, [36743] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1640), 1, anon_sym_else, STATE(172), 1, sym__else, STATE(720), 1, aux_sym_if_else_expr_repeat1, STATE(776), 1, sym_block_comment, [36762] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1754), 1, anon_sym_RBRACK, STATE(754), 1, aux_sym_list_expr_repeat1, STATE(777), 1, sym_block_comment, [36781] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1756), 1, anon_sym_RPAREN, STATE(774), 1, aux_sym_tuple_expr_repeat1, STATE(778), 1, sym_block_comment, [36800] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1403), 1, sym__virtual_end_decl, ACTIONS(1630), 1, sym_arrow, STATE(721), 1, aux_sym_type_expression_repeat1, STATE(779), 1, sym_block_comment, [36819] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1758), 1, anon_sym_RBRACK, STATE(780), 1, sym_block_comment, STATE(813), 1, aux_sym_list_expr_repeat1, [36838] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(781), 1, sym_block_comment, ACTIONS(1528), 3, sym__virtual_end_decl, sym__virtual_end_section, sym_arrow, [36853] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1735), 1, anon_sym_else, STATE(79), 1, sym__else, STATE(782), 1, sym_block_comment, STATE(833), 1, aux_sym_if_else_expr_repeat1, [36872] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1760), 1, anon_sym_RBRACE, STATE(725), 1, aux_sym_record_type_repeat1, STATE(783), 1, sym_block_comment, [36891] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1762), 1, anon_sym_RPAREN, STATE(760), 1, aux_sym_tuple_expr_repeat1, STATE(784), 1, sym_block_comment, [36910] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1610), 1, anon_sym_COMMA, ACTIONS(1764), 1, anon_sym_RBRACE, STATE(785), 1, sym_block_comment, STATE(788), 1, aux_sym__record_inner_repeat1, [36929] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1766), 1, anon_sym_RBRACE, STATE(767), 1, aux_sym_record_type_repeat1, STATE(786), 1, sym_block_comment, [36948] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1768), 1, sym__virtual_end_section, STATE(787), 1, sym_block_comment, STATE(822), 1, aux_sym_let_in_expr_repeat1, [36967] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1770), 1, anon_sym_COMMA, ACTIONS(1773), 1, anon_sym_RBRACE, STATE(788), 2, sym_block_comment, aux_sym__record_inner_repeat1, [36984] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1775), 1, anon_sym_RPAREN, STATE(727), 1, aux_sym_tuple_type_repeat1, STATE(789), 1, sym_block_comment, [37003] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1777), 1, sym__virtual_end_section, STATE(787), 1, aux_sym_let_in_expr_repeat1, STATE(790), 1, sym_block_comment, [37022] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1779), 1, anon_sym_COMMA, ACTIONS(1782), 1, anon_sym_RBRACK, STATE(791), 2, sym_block_comment, aux_sym_list_pattern_repeat1, [37039] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1784), 1, anon_sym_RPAREN, STATE(768), 1, aux_sym_tuple_type_repeat1, STATE(792), 1, sym_block_comment, [37058] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1786), 1, sym__dot_without_leading_whitespace, STATE(272), 1, aux_sym_field_access_expr_repeat1, STATE(285), 1, sym__field_access_segment, STATE(793), 1, sym_block_comment, [37077] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1788), 1, anon_sym_COMMA, ACTIONS(1791), 1, anon_sym_RBRACE, STATE(794), 2, sym_block_comment, aux_sym_record_pattern_repeat1, [37094] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1679), 1, anon_sym_RPAREN, STATE(795), 1, sym_block_comment, STATE(809), 1, aux_sym_tuple_expr_repeat1, [37113] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1793), 1, sym__dot_without_leading_whitespace, STATE(20), 1, aux_sym_field_access_expr_repeat1, STATE(33), 1, sym__field_access_segment, STATE(796), 1, sym_block_comment, [37132] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1795), 1, anon_sym_RPAREN, STATE(797), 1, sym_block_comment, STATE(806), 1, aux_sym_tuple_type_repeat1, [37151] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1797), 1, anon_sym_RBRACE, STATE(798), 1, sym_block_comment, STATE(807), 1, aux_sym_record_type_repeat1, [37170] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1614), 1, anon_sym_RPAREN, STATE(760), 1, aux_sym_tuple_expr_repeat1, STATE(799), 1, sym_block_comment, [37189] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1799), 1, anon_sym_RBRACK, STATE(800), 1, sym_block_comment, STATE(810), 1, aux_sym_list_expr_repeat1, [37208] = 4, ACTIONS(44), 1, anon_sym_LBRACE_DASH, ACTIONS(46), 1, sym_line_comment, STATE(801), 1, sym_block_comment, ACTIONS(1801), 3, aux_sym_char_constant_expr_token1, sym_string_escape, sym_invalid_string_escape, [37223] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1803), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1805), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(802), 1, sym_block_comment, STATE(811), 1, aux_sym_value_qid_repeat1, [37242] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1673), 1, anon_sym_RPAREN, STATE(778), 1, aux_sym_tuple_expr_repeat1, STATE(803), 1, sym_block_comment, [37261] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1807), 1, anon_sym_RPAREN, STATE(698), 1, aux_sym_tuple_expr_repeat1, STATE(804), 1, sym_block_comment, [37280] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1727), 1, anon_sym_else, STATE(248), 1, sym__else, STATE(765), 1, aux_sym_if_else_expr_repeat1, STATE(805), 1, sym_block_comment, [37299] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1539), 1, anon_sym_COMMA, ACTIONS(1809), 1, anon_sym_RPAREN, STATE(695), 1, aux_sym_tuple_type_repeat1, STATE(806), 1, sym_block_comment, [37318] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1811), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(807), 1, sym_block_comment, [37337] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1813), 1, anon_sym_RBRACE, STATE(808), 1, sym_block_comment, STATE(812), 1, aux_sym_record_type_repeat1, [37356] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1582), 1, anon_sym_COMMA, ACTIONS(1815), 1, anon_sym_RPAREN, STATE(774), 1, aux_sym_tuple_expr_repeat1, STATE(809), 1, sym_block_comment, [37375] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1573), 1, anon_sym_COMMA, ACTIONS(1817), 1, anon_sym_RBRACK, STATE(810), 1, sym_block_comment, STATE(813), 1, aux_sym_list_expr_repeat1, [37394] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1543), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1819), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(811), 1, sym_block_comment, STATE(818), 1, aux_sym_value_qid_repeat1, [37413] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1555), 1, anon_sym_COMMA, ACTIONS(1821), 1, anon_sym_RBRACE, STATE(692), 1, aux_sym_record_type_repeat1, STATE(812), 1, sym_block_comment, [37432] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1823), 1, anon_sym_COMMA, ACTIONS(1826), 1, anon_sym_RBRACK, STATE(813), 2, sym_block_comment, aux_sym_list_expr_repeat1, [37449] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(814), 1, sym_block_comment, ACTIONS(1828), 3, anon_sym_left, anon_sym_right, anon_sym_non, [37464] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1596), 1, sym__virtual_end_decl, ACTIONS(1830), 1, sym__virtual_end_section, STATE(815), 1, sym_block_comment, STATE(822), 1, aux_sym_let_in_expr_repeat1, [37483] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(248), 1, sym__else, STATE(765), 1, aux_sym_if_else_expr_repeat1, STATE(816), 1, sym_block_comment, [37502] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1832), 1, sym__dot_without_leading_whitespace, STATE(145), 1, aux_sym_field_access_expr_repeat1, STATE(211), 1, sym__field_access_segment, STATE(817), 1, sym_block_comment, [37521] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1834), 1, sym__upper_case_identifier_without_leading_whitespace, ACTIONS(1837), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(818), 2, sym_block_comment, aux_sym_value_qid_repeat1, [37538] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1588), 1, anon_sym_else, STATE(390), 1, sym__else, STATE(819), 1, sym_block_comment, STATE(833), 1, aux_sym_if_else_expr_repeat1, [37557] = 6, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(172), 1, sym__else, STATE(720), 1, aux_sym_if_else_expr_repeat1, STATE(820), 1, sym_block_comment, [37576] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1839), 1, anon_sym_COMMA, ACTIONS(1842), 1, anon_sym_RPAREN, STATE(821), 2, sym_block_comment, aux_sym_exposing_list_repeat1, [37593] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1844), 1, sym__virtual_end_decl, ACTIONS(1847), 1, sym__virtual_end_section, STATE(822), 2, sym_block_comment, aux_sym_let_in_expr_repeat1, [37610] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1849), 1, sym_lower_case_identifier, STATE(709), 1, sym_field, STATE(823), 1, sym_block_comment, [37626] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1851), 1, anon_sym_RPAREN, ACTIONS(1853), 1, sym__virtual_end_section, STATE(824), 1, sym_block_comment, [37642] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1855), 1, sym_lower_case_identifier, STATE(759), 1, sym_field_type, STATE(825), 1, sym_block_comment, [37658] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(756), 1, sym__then, STATE(826), 1, sym_block_comment, [37674] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(922), 1, sym_lower_case_identifier, STATE(524), 1, sym_lower_pattern, STATE(827), 1, sym_block_comment, [37690] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1859), 1, anon_sym_RPAREN, ACTIONS(1861), 1, sym__virtual_end_section, STATE(828), 1, sym_block_comment, [37706] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(735), 1, sym__then, STATE(829), 1, sym_block_comment, [37722] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, STATE(830), 1, sym_block_comment, STATE(832), 1, sym_upper_case_qid, [37738] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1279), 1, anon_sym_LPAREN, STATE(831), 1, sym_block_comment, STATE(982), 1, sym__operator_as_function_inner, [37754] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1443), 1, sym_exposing, STATE(832), 1, sym_block_comment, STATE(923), 1, sym_exposing_list, [37770] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1863), 1, anon_sym_else, STATE(833), 2, sym_block_comment, aux_sym_if_else_expr_repeat1, [37784] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1866), 1, sym_upper_case_identifier, ACTIONS(1868), 1, sym_alias, STATE(834), 1, sym_block_comment, [37800] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(835), 1, sym_block_comment, ACTIONS(1870), 2, anon_sym_COMMA, anon_sym_RBRACE, [37814] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(836), 1, sym_block_comment, ACTIONS(1842), 2, anon_sym_COMMA, anon_sym_RPAREN, [37828] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1220), 1, sym_upper_case_identifier, STATE(640), 1, sym_upper_case_qid, STATE(837), 1, sym_block_comment, [37844] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(838), 1, sym_block_comment, ACTIONS(1837), 2, sym__upper_case_identifier_without_leading_whitespace, sym__lower_case_identifier_without_leading_whitespace, [37858] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(839), 1, sym_block_comment, ACTIONS(1872), 2, sym__virtual_end_decl, sym__virtual_end_section, [37872] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, STATE(840), 1, sym_block_comment, STATE(859), 1, sym_upper_case_qid, [37888] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1874), 1, sym_lower_case_identifier, ACTIONS(1876), 1, sym_module, STATE(841), 1, sym_block_comment, [37904] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(842), 1, sym_block_comment, ACTIONS(1878), 2, sym_lower_case_identifier, sym_eq, [37918] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1880), 1, sym_upper_case_identifier, STATE(664), 1, sym_union_variant, STATE(843), 1, sym_block_comment, [37934] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(729), 1, sym__then, STATE(844), 1, sym_block_comment, [37950] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(820), 1, sym__then, STATE(845), 1, sym_block_comment, [37966] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(846), 1, sym_block_comment, ACTIONS(1882), 2, anon_sym_COMMA, anon_sym_RBRACK, [37980] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(847), 1, sym_block_comment, ACTIONS(1884), 2, anon_sym_COMMA, anon_sym_RBRACK, [37994] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(848), 1, sym_block_comment, ACTIONS(1886), 2, anon_sym_COMMA, anon_sym_RBRACE, [38008] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1888), 1, anon_sym_PIPE, ACTIONS(1890), 1, sym_colon, STATE(849), 1, sym_block_comment, [38024] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1855), 1, sym_lower_case_identifier, STATE(723), 1, sym_field_type, STATE(850), 1, sym_block_comment, [38040] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(181), 1, anon_sym_LBRACE, STATE(851), 1, sym_block_comment, STATE(884), 1, sym_record_expr, [38056] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(852), 1, sym_block_comment, ACTIONS(1892), 2, sym__virtual_end_decl, sym_exposing, [38070] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1894), 1, anon_sym_RPAREN, ACTIONS(1896), 1, sym__virtual_end_section, STATE(853), 1, sym_block_comment, [38086] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(854), 1, sym_block_comment, ACTIONS(1898), 2, sym_lower_case_identifier, sym_eq, [38100] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(771), 1, sym__then, STATE(855), 1, sym_block_comment, [38116] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(856), 1, sym_block_comment, ACTIONS(1900), 2, anon_sym_COMMA, anon_sym_RPAREN, [38130] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(23), 1, sym_upper_case_identifier, STATE(857), 1, sym_block_comment, STATE(920), 1, sym_upper_case_qid, [38146] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1880), 1, sym_upper_case_identifier, STATE(676), 1, sym_union_variant, STATE(858), 1, sym_block_comment, [38162] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1443), 1, sym_exposing, STATE(859), 1, sym_block_comment, STATE(919), 1, sym_exposing_list, [38178] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(860), 1, sym_block_comment, ACTIONS(1902), 2, sym__virtual_end_decl, anon_sym_PIPE, [38192] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(861), 1, sym_block_comment, ACTIONS(1904), 2, anon_sym_COMMA, anon_sym_RBRACE, [38206] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(805), 1, sym__then, STATE(862), 1, sym_block_comment, [38222] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1855), 1, sym_lower_case_identifier, STATE(808), 1, sym_field_type, STATE(863), 1, sym_block_comment, [38238] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(816), 1, sym__then, STATE(864), 1, sym_block_comment, [38254] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1888), 1, anon_sym_PIPE, ACTIONS(1906), 1, sym_eq, STATE(865), 1, sym_block_comment, [38270] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(769), 1, sym__then, STATE(866), 1, sym_block_comment, [38286] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1855), 1, sym_lower_case_identifier, STATE(763), 1, sym_field_type, STATE(867), 1, sym_block_comment, [38302] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1908), 1, anon_sym_if, STATE(868), 1, sym_block_comment, STATE(876), 1, sym__if, [38318] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(731), 1, sym__then, STATE(869), 1, sym_block_comment, [38334] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(870), 1, sym_block_comment, ACTIONS(1910), 2, sym__virtual_end_decl, sym__virtual_end_section, [38348] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1912), 1, anon_sym_RPAREN, ACTIONS(1914), 1, sym__virtual_end_section, STATE(871), 1, sym_block_comment, [38364] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(922), 1, sym_lower_case_identifier, STATE(521), 1, sym_lower_pattern, STATE(872), 1, sym_block_comment, [38380] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(922), 1, sym_lower_case_identifier, STATE(835), 1, sym_lower_pattern, STATE(873), 1, sym_block_comment, [38396] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1855), 1, sym_lower_case_identifier, STATE(874), 1, sym_block_comment, STATE(899), 1, sym_field_type, [38412] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(875), 1, sym_block_comment, ACTIONS(1916), 2, anon_sym_COMMA, anon_sym_RPAREN, [38426] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(876), 1, sym_block_comment, STATE(926), 1, sym__then, [38442] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(877), 1, sym_block_comment, ACTIONS(1528), 2, sym__virtual_end_decl, sym_arrow, [38456] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(878), 1, sym_block_comment, ACTIONS(1516), 2, sym__virtual_end_decl, sym_arrow, [38470] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(879), 1, sym_block_comment, ACTIONS(1514), 2, sym__virtual_end_decl, sym_arrow, [38484] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1918), 1, anon_sym_RPAREN, ACTIONS(1920), 1, sym__virtual_end_section, STATE(880), 1, sym_block_comment, [38500] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(881), 1, sym_block_comment, ACTIONS(1922), 2, anon_sym_COMMA, anon_sym_RPAREN, [38514] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(700), 1, sym__then, STATE(882), 1, sym_block_comment, [38530] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(883), 1, sym_block_comment, ACTIONS(1924), 2, anon_sym_COMMA, anon_sym_RPAREN, [38544] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1443), 1, sym_exposing, STATE(884), 1, sym_block_comment, STATE(1011), 1, sym_exposing_list, [38560] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(885), 1, sym_block_comment, ACTIONS(1926), 2, sym__virtual_end_decl, sym__virtual_end_section, [38574] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1928), 1, anon_sym_COMMA, ACTIONS(1930), 1, anon_sym_RPAREN, STATE(886), 1, sym_block_comment, [38590] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1880), 1, sym_upper_case_identifier, STATE(860), 1, sym_union_variant, STATE(887), 1, sym_block_comment, [38606] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(888), 1, sym_block_comment, ACTIONS(1932), 2, sym__virtual_end_decl, anon_sym_PIPE, [38620] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1849), 1, sym_lower_case_identifier, STATE(848), 1, sym_field, STATE(889), 1, sym_block_comment, [38636] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(890), 1, sym_block_comment, ACTIONS(1934), 2, sym__virtual_end_decl, sym__virtual_end_section, [38650] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(891), 1, sym_block_comment, ACTIONS(1936), 2, sym__virtual_end_decl, sym__virtual_end_section, [38664] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(693), 1, sym__then, STATE(892), 1, sym_block_comment, [38680] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1928), 1, anon_sym_COMMA, ACTIONS(1938), 1, anon_sym_RPAREN, STATE(893), 1, sym_block_comment, [38696] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(894), 1, sym_block_comment, ACTIONS(1940), 2, anon_sym_COMMA, anon_sym_RPAREN, [38710] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(895), 1, sym_block_comment, ACTIONS(1942), 2, anon_sym_COMMA, anon_sym_RPAREN, [38724] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(922), 1, sym_lower_case_identifier, STATE(710), 1, sym_lower_pattern, STATE(896), 1, sym_block_comment, [38740] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(897), 1, sym_block_comment, ACTIONS(1944), 2, anon_sym_COMMA, anon_sym_RBRACE, [38754] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(898), 1, sym_block_comment, ACTIONS(1946), 2, sym__virtual_end_decl, sym__virtual_end_section, [38768] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(899), 1, sym_block_comment, ACTIONS(1948), 2, anon_sym_COMMA, anon_sym_RBRACE, [38782] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1950), 1, anon_sym_RPAREN, ACTIONS(1952), 1, sym__virtual_end_section, STATE(900), 1, sym_block_comment, [38798] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, STATE(901), 1, sym_block_comment, ACTIONS(1954), 2, anon_sym_COMMA, anon_sym_RPAREN, [38812] = 5, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1857), 1, anon_sym_then, STATE(776), 1, sym__then, STATE(902), 1, sym_block_comment, [38828] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1956), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(903), 1, sym_block_comment, [38841] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1958), 1, sym__virtual_end_decl, STATE(904), 1, sym_block_comment, [38854] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1960), 1, anon_sym_in, STATE(905), 1, sym_block_comment, [38867] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1962), 1, sym__glsl_end, STATE(906), 1, sym_block_comment, [38880] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1964), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(907), 1, sym_block_comment, [38893] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1926), 1, sym__virtual_end_decl, STATE(908), 1, sym_block_comment, [38906] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1966), 1, sym__virtual_end_section, STATE(909), 1, sym_block_comment, [38919] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1968), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(910), 1, sym_block_comment, [38932] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1970), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(911), 1, sym_block_comment, [38945] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1972), 1, anon_sym_RPAREN, STATE(912), 1, sym_block_comment, [38958] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1974), 1, anon_sym_RBRACE, STATE(913), 1, sym_block_comment, [38971] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1976), 1, anon_sym_SQUOTE, STATE(914), 1, sym_block_comment, [38984] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1978), 1, anon_sym_SQUOTE, STATE(915), 1, sym_block_comment, [38997] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1980), 1, sym__virtual_end_decl, STATE(916), 1, sym_block_comment, [39010] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1982), 1, anon_sym_LPAREN, STATE(917), 1, sym_block_comment, [39023] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1984), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(918), 1, sym_block_comment, [39036] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1986), 1, sym__virtual_end_decl, STATE(919), 1, sym_block_comment, [39049] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1988), 1, sym_where, STATE(920), 1, sym_block_comment, [39062] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1990), 1, sym_upper_case_identifier, STATE(921), 1, sym_block_comment, [39075] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1992), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(922), 1, sym_block_comment, [39088] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1994), 1, sym__virtual_end_decl, STATE(923), 1, sym_block_comment, [39101] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1996), 1, sym__virtual_end_section, STATE(924), 1, sym_block_comment, [39114] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1998), 1, anon_sym_RPAREN, STATE(925), 1, sym_block_comment, [39127] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1564), 1, anon_sym_else, STATE(926), 1, sym_block_comment, [39140] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2000), 1, anon_sym_RBRACE, STATE(927), 1, sym_block_comment, [39153] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2002), 1, anon_sym_in, STATE(928), 1, sym_block_comment, [39166] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2004), 1, sym__glsl_end, STATE(929), 1, sym_block_comment, [39179] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2006), 1, anon_sym_in, STATE(930), 1, sym_block_comment, [39192] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2008), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(931), 1, sym_block_comment, [39205] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2010), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(932), 1, sym_block_comment, [39218] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2012), 1, sym__glsl_end, STATE(933), 1, sym_block_comment, [39231] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2014), 1, anon_sym_RBRACE, STATE(934), 1, sym_block_comment, [39244] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2016), 1, anon_sym_RPAREN, STATE(935), 1, sym_block_comment, [39257] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2018), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(936), 1, sym_block_comment, [39270] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2020), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(937), 1, sym_block_comment, [39283] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2022), 1, anon_sym_SQUOTE, STATE(938), 1, sym_block_comment, [39296] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2024), 1, sym__virtual_end_section, STATE(939), 1, sym_block_comment, [39309] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2026), 1, sym__block_comment_content, STATE(940), 1, sym_block_comment, [39322] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2028), 1, sym__virtual_open_section, STATE(941), 1, sym_block_comment, [39335] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2030), 1, sym_lower_case_identifier, STATE(942), 1, sym_block_comment, [39348] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2032), 1, sym_glsl_content, STATE(943), 1, sym_block_comment, [39361] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1910), 1, sym__virtual_end_decl, STATE(944), 1, sym_block_comment, [39374] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2034), 1, anon_sym_SQUOTE, STATE(945), 1, sym_block_comment, [39387] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2036), 1, sym__virtual_end_section, STATE(946), 1, sym_block_comment, [39400] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2038), 1, anon_sym_in, STATE(947), 1, sym_block_comment, [39413] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2040), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(948), 1, sym_block_comment, [39426] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2042), 1, anon_sym_in, STATE(949), 1, sym_block_comment, [39439] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2044), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(950), 1, sym_block_comment, [39452] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2046), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(951), 1, sym_block_comment, [39465] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1946), 1, sym__virtual_end_decl, STATE(952), 1, sym_block_comment, [39478] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2048), 1, sym_number_literal, STATE(953), 1, sym_block_comment, [39491] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2050), 1, sym_eq, STATE(954), 1, sym_block_comment, [39504] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2052), 1, sym_eq, STATE(955), 1, sym_block_comment, [39517] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1265), 1, anon_sym_COLON_COLON, STATE(956), 1, sym_block_comment, [39530] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2054), 1, sym__glsl_end, STATE(957), 1, sym_block_comment, [39543] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2056), 1, sym_glsl_content, STATE(958), 1, sym_block_comment, [39556] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2058), 1, sym_colon, STATE(959), 1, sym_block_comment, [39569] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2060), 1, anon_sym_RBRACE, STATE(960), 1, sym_block_comment, [39582] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2062), 1, anon_sym_RPAREN, STATE(961), 1, sym_block_comment, [39595] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2064), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(962), 1, sym_block_comment, [39608] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2066), 1, sym_upper_case_identifier, STATE(963), 1, sym_block_comment, [39621] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2068), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(964), 1, sym_block_comment, [39634] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2070), 1, anon_sym_in, STATE(965), 1, sym_block_comment, [39647] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2072), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(966), 1, sym_block_comment, [39660] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2074), 1, anon_sym_SQUOTE, STATE(967), 1, sym_block_comment, [39673] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2076), 1, anon_sym_PIPE, STATE(968), 1, sym_block_comment, [39686] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2078), 1, sym__virtual_end_decl, STATE(969), 1, sym_block_comment, [39699] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2080), 1, anon_sym_in, STATE(970), 1, sym_block_comment, [39712] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2082), 1, sym__virtual_end_section, STATE(971), 1, sym_block_comment, [39725] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2084), 1, anon_sym_in, STATE(972), 1, sym_block_comment, [39738] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2086), 1, anon_sym_in, STATE(973), 1, sym_block_comment, [39751] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2088), 1, sym_glsl_content, STATE(974), 1, sym_block_comment, [39764] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2090), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(975), 1, sym_block_comment, [39777] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2092), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(976), 1, sym_block_comment, [39790] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2094), 1, sym__virtual_end_decl, STATE(977), 1, sym_block_comment, [39803] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2096), 1, anon_sym_in, STATE(978), 1, sym_block_comment, [39816] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2098), 1, sym__glsl_end, STATE(979), 1, sym_block_comment, [39829] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2100), 1, anon_sym_RBRACE, STATE(980), 1, sym_block_comment, [39842] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2102), 1, anon_sym_RPAREN, STATE(981), 1, sym_block_comment, [39855] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2104), 1, sym_eq, STATE(982), 1, sym_block_comment, [39868] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1136), 1, anon_sym_RPAREN, STATE(983), 1, sym_block_comment, [39881] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2106), 1, sym_glsl_content, STATE(984), 1, sym_block_comment, [39894] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2108), 1, sym__lower_case_identifier_without_leading_whitespace, STATE(985), 1, sym_block_comment, [39907] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2110), 1, anon_sym_RPAREN, STATE(986), 1, sym_block_comment, [39920] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2112), 1, anon_sym_RBRACE, STATE(987), 1, sym_block_comment, [39933] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2114), 1, anon_sym_then, STATE(988), 1, sym_block_comment, [39946] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2116), 1, sym__glsl_end, STATE(989), 1, sym_block_comment, [39959] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2118), 1, sym__upper_case_identifier_without_leading_whitespace, STATE(990), 1, sym_block_comment, [39972] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2120), 1, anon_sym_SQUOTE, STATE(991), 1, sym_block_comment, [39985] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2122), 1, sym_of, STATE(992), 1, sym_block_comment, [39998] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2124), 1, sym_lower_case_identifier, STATE(993), 1, sym_block_comment, [40011] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2126), 1, sym_glsl_content, STATE(994), 1, sym_block_comment, [40024] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2128), 1, anon_sym_SQUOTE, STATE(995), 1, sym_block_comment, [40037] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1890), 1, sym_colon, STATE(996), 1, sym_block_comment, [40050] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2130), 1, anon_sym_RPAREN, STATE(997), 1, sym_block_comment, [40063] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2132), 1, sym__virtual_end_decl, STATE(998), 1, sym_block_comment, [40076] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2134), 1, sym_of, STATE(999), 1, sym_block_comment, [40089] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1906), 1, sym_eq, STATE(1000), 1, sym_block_comment, [40102] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2136), 1, sym__virtual_open_section, STATE(1001), 1, sym_block_comment, [40115] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2138), 1, anon_sym_else, STATE(1002), 1, sym_block_comment, [40128] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2140), 1, sym_glsl_content, STATE(1003), 1, sym_block_comment, [40141] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2142), 1, sym_double_dot, STATE(1004), 1, sym_block_comment, [40154] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2144), 1, anon_sym_DASH_RBRACE, STATE(1005), 1, sym_block_comment, [40167] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2146), 1, sym__virtual_end_decl, STATE(1006), 1, sym_block_comment, [40180] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(1334), 1, anon_sym_COLON_COLON, STATE(1007), 1, sym_block_comment, [40193] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2148), 1, sym__virtual_end_decl, STATE(1008), 1, sym_block_comment, [40206] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2150), 1, sym_eq, STATE(1009), 1, sym_block_comment, [40219] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2152), 1, sym_eq, STATE(1010), 1, sym_block_comment, [40232] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2154), 1, sym__virtual_end_decl, STATE(1011), 1, sym_block_comment, [40245] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2156), 1, sym__virtual_open_section, STATE(1012), 1, sym_block_comment, [40258] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2158), 1, sym__virtual_open_section, STATE(1013), 1, sym_block_comment, [40271] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2160), 1, sym__virtual_end_decl, STATE(1014), 1, sym_block_comment, [40284] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2162), 1, sym__virtual_end_decl, STATE(1015), 1, sym_block_comment, [40297] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2164), 1, sym__virtual_open_section, STATE(1016), 1, sym_block_comment, [40310] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2166), 1, sym__virtual_open_section, STATE(1017), 1, sym_block_comment, [40323] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2168), 1, sym__virtual_end_decl, STATE(1018), 1, sym_block_comment, [40336] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2170), 1, sym__virtual_open_section, STATE(1019), 1, sym_block_comment, [40349] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2172), 1, sym__virtual_open_section, STATE(1020), 1, sym_block_comment, [40362] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2174), 1, sym__virtual_end_decl, STATE(1021), 1, sym_block_comment, [40375] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2176), 1, sym__virtual_open_section, STATE(1022), 1, sym_block_comment, [40388] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2178), 1, sym__virtual_open_section, STATE(1023), 1, sym_block_comment, [40401] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2180), 1, sym__virtual_open_section, STATE(1024), 1, sym_block_comment, [40414] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2182), 1, sym__virtual_open_section, STATE(1025), 1, sym_block_comment, [40427] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2184), 1, sym__virtual_open_section, STATE(1026), 1, sym_block_comment, [40440] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2186), 1, ts_builtin_sym_end, STATE(1027), 1, sym_block_comment, [40453] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2188), 1, sym_of, STATE(1028), 1, sym_block_comment, [40466] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2190), 1, sym_of, STATE(1029), 1, sym_block_comment, [40479] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2192), 1, sym__virtual_open_section, STATE(1030), 1, sym_block_comment, [40492] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2194), 1, sym_of, STATE(1031), 1, sym_block_comment, [40505] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2196), 1, sym_of, STATE(1032), 1, sym_block_comment, [40518] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2198), 1, sym__virtual_open_section, STATE(1033), 1, sym_block_comment, [40531] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2200), 1, sym_of, STATE(1034), 1, sym_block_comment, [40544] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2202), 1, sym_of, STATE(1035), 1, sym_block_comment, [40557] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2204), 1, sym__virtual_open_section, STATE(1036), 1, sym_block_comment, [40570] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2206), 1, sym_of, STATE(1037), 1, sym_block_comment, [40583] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2208), 1, sym_of, STATE(1038), 1, sym_block_comment, [40596] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2210), 1, sym_of, STATE(1039), 1, sym_block_comment, [40609] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2212), 1, sym_of, STATE(1040), 1, sym_block_comment, [40622] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2214), 1, sym__virtual_open_section, STATE(1041), 1, sym_block_comment, [40635] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2216), 1, sym__virtual_open_section, STATE(1042), 1, sym_block_comment, [40648] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2218), 1, anon_sym_in, STATE(1043), 1, sym_block_comment, [40661] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2220), 1, sym__dot_without_leading_whitespace, STATE(1044), 1, sym_block_comment, [40674] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2222), 1, anon_sym_RPAREN, STATE(1045), 1, sym_block_comment, [40687] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2224), 1, sym_module, STATE(1046), 1, sym_block_comment, [40700] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2226), 1, sym__virtual_end_decl, STATE(1047), 1, sym_block_comment, [40713] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2228), 1, anon_sym_in, STATE(1048), 1, sym_block_comment, [40726] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2230), 1, sym_arrow, STATE(1049), 1, sym_block_comment, [40739] = 4, ACTIONS(3), 1, anon_sym_LBRACE_DASH, ACTIONS(5), 1, sym_line_comment, ACTIONS(2232), 1, sym__virtual_end_section, STATE(1050), 1, sym_block_comment, [40752] = 1, ACTIONS(2234), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(20)] = 0, [SMALL_STATE(21)] = 68, [SMALL_STATE(22)] = 136, [SMALL_STATE(23)] = 208, [SMALL_STATE(24)] = 278, [SMALL_STATE(25)] = 350, [SMALL_STATE(26)] = 415, [SMALL_STATE(27)] = 482, [SMALL_STATE(28)] = 549, [SMALL_STATE(29)] = 611, [SMALL_STATE(30)] = 675, [SMALL_STATE(31)] = 739, [SMALL_STATE(32)] = 801, [SMALL_STATE(33)] = 863, [SMALL_STATE(34)] = 925, [SMALL_STATE(35)] = 987, [SMALL_STATE(36)] = 1049, [SMALL_STATE(37)] = 1111, [SMALL_STATE(38)] = 1173, [SMALL_STATE(39)] = 1235, [SMALL_STATE(40)] = 1301, [SMALL_STATE(41)] = 1367, [SMALL_STATE(42)] = 1429, [SMALL_STATE(43)] = 1490, [SMALL_STATE(44)] = 1551, [SMALL_STATE(45)] = 1612, [SMALL_STATE(46)] = 1673, [SMALL_STATE(47)] = 1792, [SMALL_STATE(48)] = 1853, [SMALL_STATE(49)] = 1914, [SMALL_STATE(50)] = 1975, [SMALL_STATE(51)] = 2036, [SMALL_STATE(52)] = 2097, [SMALL_STATE(53)] = 2158, [SMALL_STATE(54)] = 2221, [SMALL_STATE(55)] = 2282, [SMALL_STATE(56)] = 2345, [SMALL_STATE(57)] = 2406, [SMALL_STATE(58)] = 2467, [SMALL_STATE(59)] = 2586, [SMALL_STATE(60)] = 2647, [SMALL_STATE(61)] = 2708, [SMALL_STATE(62)] = 2769, [SMALL_STATE(63)] = 2830, [SMALL_STATE(64)] = 2891, [SMALL_STATE(65)] = 2952, [SMALL_STATE(66)] = 3013, [SMALL_STATE(67)] = 3074, [SMALL_STATE(68)] = 3193, [SMALL_STATE(69)] = 3254, [SMALL_STATE(70)] = 3373, [SMALL_STATE(71)] = 3434, [SMALL_STATE(72)] = 3495, [SMALL_STATE(73)] = 3556, [SMALL_STATE(74)] = 3675, [SMALL_STATE(75)] = 3794, [SMALL_STATE(76)] = 3855, [SMALL_STATE(77)] = 3916, [SMALL_STATE(78)] = 3977, [SMALL_STATE(79)] = 4038, [SMALL_STATE(80)] = 4099, [SMALL_STATE(81)] = 4160, [SMALL_STATE(82)] = 4221, [SMALL_STATE(83)] = 4337, [SMALL_STATE(84)] = 4453, [SMALL_STATE(85)] = 4569, [SMALL_STATE(86)] = 4633, [SMALL_STATE(87)] = 4749, [SMALL_STATE(88)] = 4817, [SMALL_STATE(89)] = 4933, [SMALL_STATE(90)] = 4999, [SMALL_STATE(91)] = 5115, [SMALL_STATE(92)] = 5231, [SMALL_STATE(93)] = 5347, [SMALL_STATE(94)] = 5463, [SMALL_STATE(95)] = 5579, [SMALL_STATE(96)] = 5695, [SMALL_STATE(97)] = 5811, [SMALL_STATE(98)] = 5927, [SMALL_STATE(99)] = 6043, [SMALL_STATE(100)] = 6159, [SMALL_STATE(101)] = 6275, [SMALL_STATE(102)] = 6391, [SMALL_STATE(103)] = 6507, [SMALL_STATE(104)] = 6623, [SMALL_STATE(105)] = 6739, [SMALL_STATE(106)] = 6855, [SMALL_STATE(107)] = 6971, [SMALL_STATE(108)] = 7087, [SMALL_STATE(109)] = 7203, [SMALL_STATE(110)] = 7319, [SMALL_STATE(111)] = 7435, [SMALL_STATE(112)] = 7551, [SMALL_STATE(113)] = 7667, [SMALL_STATE(114)] = 7783, [SMALL_STATE(115)] = 7899, [SMALL_STATE(116)] = 8015, [SMALL_STATE(117)] = 8083, [SMALL_STATE(118)] = 8199, [SMALL_STATE(119)] = 8315, [SMALL_STATE(120)] = 8431, [SMALL_STATE(121)] = 8495, [SMALL_STATE(122)] = 8611, [SMALL_STATE(123)] = 8727, [SMALL_STATE(124)] = 8843, [SMALL_STATE(125)] = 8959, [SMALL_STATE(126)] = 9075, [SMALL_STATE(127)] = 9191, [SMALL_STATE(128)] = 9307, [SMALL_STATE(129)] = 9423, [SMALL_STATE(130)] = 9539, [SMALL_STATE(131)] = 9655, [SMALL_STATE(132)] = 9771, [SMALL_STATE(133)] = 9887, [SMALL_STATE(134)] = 9950, [SMALL_STATE(135)] = 10011, [SMALL_STATE(136)] = 10074, [SMALL_STATE(137)] = 10132, [SMALL_STATE(138)] = 10242, [SMALL_STATE(139)] = 10352, [SMALL_STATE(140)] = 10410, [SMALL_STATE(141)] = 10470, [SMALL_STATE(142)] = 10528, [SMALL_STATE(143)] = 10586, [SMALL_STATE(144)] = 10650, [SMALL_STATE(145)] = 10708, [SMALL_STATE(146)] = 10770, [SMALL_STATE(147)] = 10834, [SMALL_STATE(148)] = 10900, [SMALL_STATE(149)] = 11010, [SMALL_STATE(150)] = 11070, [SMALL_STATE(151)] = 11128, [SMALL_STATE(152)] = 11194, [SMALL_STATE(153)] = 11256, [SMALL_STATE(154)] = 11314, [SMALL_STATE(155)] = 11424, [SMALL_STATE(156)] = 11534, [SMALL_STATE(157)] = 11592, [SMALL_STATE(158)] = 11650, [SMALL_STATE(159)] = 11714, [SMALL_STATE(160)] = 11824, [SMALL_STATE(161)] = 11882, [SMALL_STATE(162)] = 11939, [SMALL_STATE(163)] = 11996, [SMALL_STATE(164)] = 12053, [SMALL_STATE(165)] = 12114, [SMALL_STATE(166)] = 12171, [SMALL_STATE(167)] = 12228, [SMALL_STATE(168)] = 12285, [SMALL_STATE(169)] = 12342, [SMALL_STATE(170)] = 12399, [SMALL_STATE(171)] = 12456, [SMALL_STATE(172)] = 12513, [SMALL_STATE(173)] = 12570, [SMALL_STATE(174)] = 12627, [SMALL_STATE(175)] = 12684, [SMALL_STATE(176)] = 12741, [SMALL_STATE(177)] = 12798, [SMALL_STATE(178)] = 12855, [SMALL_STATE(179)] = 12912, [SMALL_STATE(180)] = 12973, [SMALL_STATE(181)] = 13030, [SMALL_STATE(182)] = 13087, [SMALL_STATE(183)] = 13144, [SMALL_STATE(184)] = 13201, [SMALL_STATE(185)] = 13258, [SMALL_STATE(186)] = 13317, [SMALL_STATE(187)] = 13374, [SMALL_STATE(188)] = 13431, [SMALL_STATE(189)] = 13492, [SMALL_STATE(190)] = 13549, [SMALL_STATE(191)] = 13606, [SMALL_STATE(192)] = 13663, [SMALL_STATE(193)] = 13720, [SMALL_STATE(194)] = 13777, [SMALL_STATE(195)] = 13834, [SMALL_STATE(196)] = 13895, [SMALL_STATE(197)] = 13952, [SMALL_STATE(198)] = 14009, [SMALL_STATE(199)] = 14111, [SMALL_STATE(200)] = 14213, [SMALL_STATE(201)] = 14275, [SMALL_STATE(202)] = 14383, [SMALL_STATE(203)] = 14439, [SMALL_STATE(204)] = 14495, [SMALL_STATE(205)] = 14553, [SMALL_STATE(206)] = 14655, [SMALL_STATE(207)] = 14711, [SMALL_STATE(208)] = 14767, [SMALL_STATE(209)] = 14869, [SMALL_STATE(210)] = 14925, [SMALL_STATE(211)] = 14981, [SMALL_STATE(212)] = 15037, [SMALL_STATE(213)] = 15093, [SMALL_STATE(214)] = 15149, [SMALL_STATE(215)] = 15251, [SMALL_STATE(216)] = 15353, [SMALL_STATE(217)] = 15461, [SMALL_STATE(218)] = 15569, [SMALL_STATE(219)] = 15631, [SMALL_STATE(220)] = 15687, [SMALL_STATE(221)] = 15745, [SMALL_STATE(222)] = 15800, [SMALL_STATE(223)] = 15855, [SMALL_STATE(224)] = 15910, [SMALL_STATE(225)] = 16009, [SMALL_STATE(226)] = 16064, [SMALL_STATE(227)] = 16119, [SMALL_STATE(228)] = 16174, [SMALL_STATE(229)] = 16229, [SMALL_STATE(230)] = 16288, [SMALL_STATE(231)] = 16343, [SMALL_STATE(232)] = 16398, [SMALL_STATE(233)] = 16453, [SMALL_STATE(234)] = 16508, [SMALL_STATE(235)] = 16567, [SMALL_STATE(236)] = 16622, [SMALL_STATE(237)] = 16721, [SMALL_STATE(238)] = 16776, [SMALL_STATE(239)] = 16831, [SMALL_STATE(240)] = 16886, [SMALL_STATE(241)] = 16985, [SMALL_STATE(242)] = 17040, [SMALL_STATE(243)] = 17095, [SMALL_STATE(244)] = 17150, [SMALL_STATE(245)] = 17249, [SMALL_STATE(246)] = 17304, [SMALL_STATE(247)] = 17359, [SMALL_STATE(248)] = 17414, [SMALL_STATE(249)] = 17469, [SMALL_STATE(250)] = 17524, [SMALL_STATE(251)] = 17579, [SMALL_STATE(252)] = 17634, [SMALL_STATE(253)] = 17733, [SMALL_STATE(254)] = 17832, [SMALL_STATE(255)] = 17887, [SMALL_STATE(256)] = 17942, [SMALL_STATE(257)] = 17997, [SMALL_STATE(258)] = 18052, [SMALL_STATE(259)] = 18107, [SMALL_STATE(260)] = 18162, [SMALL_STATE(261)] = 18217, [SMALL_STATE(262)] = 18316, [SMALL_STATE(263)] = 18415, [SMALL_STATE(264)] = 18514, [SMALL_STATE(265)] = 18611, [SMALL_STATE(266)] = 18710, [SMALL_STATE(267)] = 18762, [SMALL_STATE(268)] = 18814, [SMALL_STATE(269)] = 18864, [SMALL_STATE(270)] = 18920, [SMALL_STATE(271)] = 18976, [SMALL_STATE(272)] = 19026, [SMALL_STATE(273)] = 19078, [SMALL_STATE(274)] = 19132, [SMALL_STATE(275)] = 19184, [SMALL_STATE(276)] = 19231, [SMALL_STATE(277)] = 19278, [SMALL_STATE(278)] = 19329, [SMALL_STATE(279)] = 19376, [SMALL_STATE(280)] = 19423, [SMALL_STATE(281)] = 19474, [SMALL_STATE(282)] = 19523, [SMALL_STATE(283)] = 19569, [SMALL_STATE(284)] = 19645, [SMALL_STATE(285)] = 19691, [SMALL_STATE(286)] = 19737, [SMALL_STATE(287)] = 19783, [SMALL_STATE(288)] = 19829, [SMALL_STATE(289)] = 19905, [SMALL_STATE(290)] = 19953, [SMALL_STATE(291)] = 19999, [SMALL_STATE(292)] = 20045, [SMALL_STATE(293)] = 20093, [SMALL_STATE(294)] = 20167, [SMALL_STATE(295)] = 20213, [SMALL_STATE(296)] = 20259, [SMALL_STATE(297)] = 20305, [SMALL_STATE(298)] = 20390, [SMALL_STATE(299)] = 20435, [SMALL_STATE(300)] = 20480, [SMALL_STATE(301)] = 20565, [SMALL_STATE(302)] = 20610, [SMALL_STATE(303)] = 20655, [SMALL_STATE(304)] = 20740, [SMALL_STATE(305)] = 20785, [SMALL_STATE(306)] = 20830, [SMALL_STATE(307)] = 20875, [SMALL_STATE(308)] = 20920, [SMALL_STATE(309)] = 21005, [SMALL_STATE(310)] = 21090, [SMALL_STATE(311)] = 21175, [SMALL_STATE(312)] = 21220, [SMALL_STATE(313)] = 21265, [SMALL_STATE(314)] = 21310, [SMALL_STATE(315)] = 21355, [SMALL_STATE(316)] = 21400, [SMALL_STATE(317)] = 21445, [SMALL_STATE(318)] = 21490, [SMALL_STATE(319)] = 21535, [SMALL_STATE(320)] = 21580, [SMALL_STATE(321)] = 21625, [SMALL_STATE(322)] = 21670, [SMALL_STATE(323)] = 21715, [SMALL_STATE(324)] = 21760, [SMALL_STATE(325)] = 21805, [SMALL_STATE(326)] = 21850, [SMALL_STATE(327)] = 21895, [SMALL_STATE(328)] = 21940, [SMALL_STATE(329)] = 22025, [SMALL_STATE(330)] = 22070, [SMALL_STATE(331)] = 22115, [SMALL_STATE(332)] = 22160, [SMALL_STATE(333)] = 22205, [SMALL_STATE(334)] = 22250, [SMALL_STATE(335)] = 22294, [SMALL_STATE(336)] = 22344, [SMALL_STATE(337)] = 22396, [SMALL_STATE(338)] = 22448, [SMALL_STATE(339)] = 22496, [SMALL_STATE(340)] = 22544, [SMALL_STATE(341)] = 22623, [SMALL_STATE(342)] = 22702, [SMALL_STATE(343)] = 22779, [SMALL_STATE(344)] = 22858, [SMALL_STATE(345)] = 22937, [SMALL_STATE(346)] = 23016, [SMALL_STATE(347)] = 23095, [SMALL_STATE(348)] = 23142, [SMALL_STATE(349)] = 23218, [SMALL_STATE(350)] = 23294, [SMALL_STATE(351)] = 23370, [SMALL_STATE(352)] = 23446, [SMALL_STATE(353)] = 23494, [SMALL_STATE(354)] = 23538, [SMALL_STATE(355)] = 23614, [SMALL_STATE(356)] = 23656, [SMALL_STATE(357)] = 23698, [SMALL_STATE(358)] = 23774, [SMALL_STATE(359)] = 23850, [SMALL_STATE(360)] = 23926, [SMALL_STATE(361)] = 24002, [SMALL_STATE(362)] = 24078, [SMALL_STATE(363)] = 24120, [SMALL_STATE(364)] = 24162, [SMALL_STATE(365)] = 24238, [SMALL_STATE(366)] = 24280, [SMALL_STATE(367)] = 24356, [SMALL_STATE(368)] = 24432, [SMALL_STATE(369)] = 24484, [SMALL_STATE(370)] = 24526, [SMALL_STATE(371)] = 24602, [SMALL_STATE(372)] = 24678, [SMALL_STATE(373)] = 24724, [SMALL_STATE(374)] = 24776, [SMALL_STATE(375)] = 24852, [SMALL_STATE(376)] = 24894, [SMALL_STATE(377)] = 24944, [SMALL_STATE(378)] = 25020, [SMALL_STATE(379)] = 25096, [SMALL_STATE(380)] = 25142, [SMALL_STATE(381)] = 25192, [SMALL_STATE(382)] = 25268, [SMALL_STATE(383)] = 25344, [SMALL_STATE(384)] = 25420, [SMALL_STATE(385)] = 25462, [SMALL_STATE(386)] = 25504, [SMALL_STATE(387)] = 25548, [SMALL_STATE(388)] = 25624, [SMALL_STATE(389)] = 25665, [SMALL_STATE(390)] = 25706, [SMALL_STATE(391)] = 25747, [SMALL_STATE(392)] = 25788, [SMALL_STATE(393)] = 25829, [SMALL_STATE(394)] = 25870, [SMALL_STATE(395)] = 25911, [SMALL_STATE(396)] = 25952, [SMALL_STATE(397)] = 25993, [SMALL_STATE(398)] = 26034, [SMALL_STATE(399)] = 26075, [SMALL_STATE(400)] = 26116, [SMALL_STATE(401)] = 26161, [SMALL_STATE(402)] = 26202, [SMALL_STATE(403)] = 26243, [SMALL_STATE(404)] = 26316, [SMALL_STATE(405)] = 26357, [SMALL_STATE(406)] = 26398, [SMALL_STATE(407)] = 26439, [SMALL_STATE(408)] = 26480, [SMALL_STATE(409)] = 26521, [SMALL_STATE(410)] = 26562, [SMALL_STATE(411)] = 26603, [SMALL_STATE(412)] = 26644, [SMALL_STATE(413)] = 26685, [SMALL_STATE(414)] = 26726, [SMALL_STATE(415)] = 26799, [SMALL_STATE(416)] = 26840, [SMALL_STATE(417)] = 26881, [SMALL_STATE(418)] = 26922, [SMALL_STATE(419)] = 26995, [SMALL_STATE(420)] = 27036, [SMALL_STATE(421)] = 27077, [SMALL_STATE(422)] = 27118, [SMALL_STATE(423)] = 27158, [SMALL_STATE(424)] = 27198, [SMALL_STATE(425)] = 27240, [SMALL_STATE(426)] = 27280, [SMALL_STATE(427)] = 27322, [SMALL_STATE(428)] = 27362, [SMALL_STATE(429)] = 27404, [SMALL_STATE(430)] = 27446, [SMALL_STATE(431)] = 27486, [SMALL_STATE(432)] = 27528, [SMALL_STATE(433)] = 27570, [SMALL_STATE(434)] = 27612, [SMALL_STATE(435)] = 27652, [SMALL_STATE(436)] = 27694, [SMALL_STATE(437)] = 27734, [SMALL_STATE(438)] = 27774, [SMALL_STATE(439)] = 27816, [SMALL_STATE(440)] = 27858, [SMALL_STATE(441)] = 27898, [SMALL_STATE(442)] = 27940, [SMALL_STATE(443)] = 27982, [SMALL_STATE(444)] = 28024, [SMALL_STATE(445)] = 28066, [SMALL_STATE(446)] = 28105, [SMALL_STATE(447)] = 28144, [SMALL_STATE(448)] = 28183, [SMALL_STATE(449)] = 28222, [SMALL_STATE(450)] = 28261, [SMALL_STATE(451)] = 28300, [SMALL_STATE(452)] = 28339, [SMALL_STATE(453)] = 28378, [SMALL_STATE(454)] = 28417, [SMALL_STATE(455)] = 28456, [SMALL_STATE(456)] = 28495, [SMALL_STATE(457)] = 28534, [SMALL_STATE(458)] = 28573, [SMALL_STATE(459)] = 28612, [SMALL_STATE(460)] = 28651, [SMALL_STATE(461)] = 28690, [SMALL_STATE(462)] = 28729, [SMALL_STATE(463)] = 28768, [SMALL_STATE(464)] = 28835, [SMALL_STATE(465)] = 28874, [SMALL_STATE(466)] = 28939, [SMALL_STATE(467)] = 28978, [SMALL_STATE(468)] = 29017, [SMALL_STATE(469)] = 29056, [SMALL_STATE(470)] = 29095, [SMALL_STATE(471)] = 29134, [SMALL_STATE(472)] = 29173, [SMALL_STATE(473)] = 29212, [SMALL_STATE(474)] = 29277, [SMALL_STATE(475)] = 29316, [SMALL_STATE(476)] = 29383, [SMALL_STATE(477)] = 29422, [SMALL_STATE(478)] = 29461, [SMALL_STATE(479)] = 29502, [SMALL_STATE(480)] = 29541, [SMALL_STATE(481)] = 29597, [SMALL_STATE(482)] = 29637, [SMALL_STATE(483)] = 29675, [SMALL_STATE(484)] = 29733, [SMALL_STATE(485)] = 29773, [SMALL_STATE(486)] = 29808, [SMALL_STATE(487)] = 29840, [SMALL_STATE(488)] = 29872, [SMALL_STATE(489)] = 29903, [SMALL_STATE(490)] = 29934, [SMALL_STATE(491)] = 29965, [SMALL_STATE(492)] = 29998, [SMALL_STATE(493)] = 30029, [SMALL_STATE(494)] = 30060, [SMALL_STATE(495)] = 30091, [SMALL_STATE(496)] = 30122, [SMALL_STATE(497)] = 30153, [SMALL_STATE(498)] = 30184, [SMALL_STATE(499)] = 30215, [SMALL_STATE(500)] = 30246, [SMALL_STATE(501)] = 30277, [SMALL_STATE(502)] = 30308, [SMALL_STATE(503)] = 30339, [SMALL_STATE(504)] = 30370, [SMALL_STATE(505)] = 30401, [SMALL_STATE(506)] = 30432, [SMALL_STATE(507)] = 30463, [SMALL_STATE(508)] = 30496, [SMALL_STATE(509)] = 30531, [SMALL_STATE(510)] = 30561, [SMALL_STATE(511)] = 30591, [SMALL_STATE(512)] = 30621, [SMALL_STATE(513)] = 30665, [SMALL_STATE(514)] = 30697, [SMALL_STATE(515)] = 30729, [SMALL_STATE(516)] = 30775, [SMALL_STATE(517)] = 30821, [SMALL_STATE(518)] = 30870, [SMALL_STATE(519)] = 30919, [SMALL_STATE(520)] = 30968, [SMALL_STATE(521)] = 31011, [SMALL_STATE(522)] = 31040, [SMALL_STATE(523)] = 31085, [SMALL_STATE(524)] = 31134, [SMALL_STATE(525)] = 31163, [SMALL_STATE(526)] = 31192, [SMALL_STATE(527)] = 31237, [SMALL_STATE(528)] = 31265, [SMALL_STATE(529)] = 31311, [SMALL_STATE(530)] = 31355, [SMALL_STATE(531)] = 31399, [SMALL_STATE(532)] = 31441, [SMALL_STATE(533)] = 31485, [SMALL_STATE(534)] = 31531, [SMALL_STATE(535)] = 31573, [SMALL_STATE(536)] = 31619, [SMALL_STATE(537)] = 31665, [SMALL_STATE(538)] = 31709, [SMALL_STATE(539)] = 31755, [SMALL_STATE(540)] = 31801, [SMALL_STATE(541)] = 31847, [SMALL_STATE(542)] = 31876, [SMALL_STATE(543)] = 31919, [SMALL_STATE(544)] = 31962, [SMALL_STATE(545)] = 32005, [SMALL_STATE(546)] = 32030, [SMALL_STATE(547)] = 32054, [SMALL_STATE(548)] = 32082, [SMALL_STATE(549)] = 32109, [SMALL_STATE(550)] = 32133, [SMALL_STATE(551)] = 32163, [SMALL_STATE(552)] = 32185, [SMALL_STATE(553)] = 32207, [SMALL_STATE(554)] = 32229, [SMALL_STATE(555)] = 32251, [SMALL_STATE(556)] = 32273, [SMALL_STATE(557)] = 32295, [SMALL_STATE(558)] = 32317, [SMALL_STATE(559)] = 32339, [SMALL_STATE(560)] = 32361, [SMALL_STATE(561)] = 32383, [SMALL_STATE(562)] = 32405, [SMALL_STATE(563)] = 32427, [SMALL_STATE(564)] = 32451, [SMALL_STATE(565)] = 32473, [SMALL_STATE(566)] = 32494, [SMALL_STATE(567)] = 32515, [SMALL_STATE(568)] = 32536, [SMALL_STATE(569)] = 32557, [SMALL_STATE(570)] = 32584, [SMALL_STATE(571)] = 32605, [SMALL_STATE(572)] = 32626, [SMALL_STATE(573)] = 32647, [SMALL_STATE(574)] = 32668, [SMALL_STATE(575)] = 32689, [SMALL_STATE(576)] = 32708, [SMALL_STATE(577)] = 32729, [SMALL_STATE(578)] = 32750, [SMALL_STATE(579)] = 32771, [SMALL_STATE(580)] = 32792, [SMALL_STATE(581)] = 32810, [SMALL_STATE(582)] = 32830, [SMALL_STATE(583)] = 32848, [SMALL_STATE(584)] = 32866, [SMALL_STATE(585)] = 32884, [SMALL_STATE(586)] = 32904, [SMALL_STATE(587)] = 32924, [SMALL_STATE(588)] = 32942, [SMALL_STATE(589)] = 32970, [SMALL_STATE(590)] = 32988, [SMALL_STATE(591)] = 33006, [SMALL_STATE(592)] = 33024, [SMALL_STATE(593)] = 33052, [SMALL_STATE(594)] = 33072, [SMALL_STATE(595)] = 33092, [SMALL_STATE(596)] = 33112, [SMALL_STATE(597)] = 33130, [SMALL_STATE(598)] = 33148, [SMALL_STATE(599)] = 33168, [SMALL_STATE(600)] = 33196, [SMALL_STATE(601)] = 33224, [SMALL_STATE(602)] = 33242, [SMALL_STATE(603)] = 33270, [SMALL_STATE(604)] = 33290, [SMALL_STATE(605)] = 33308, [SMALL_STATE(606)] = 33326, [SMALL_STATE(607)] = 33344, [SMALL_STATE(608)] = 33372, [SMALL_STATE(609)] = 33392, [SMALL_STATE(610)] = 33412, [SMALL_STATE(611)] = 33432, [SMALL_STATE(612)] = 33452, [SMALL_STATE(613)] = 33475, [SMALL_STATE(614)] = 33498, [SMALL_STATE(615)] = 33521, [SMALL_STATE(616)] = 33544, [SMALL_STATE(617)] = 33567, [SMALL_STATE(618)] = 33588, [SMALL_STATE(619)] = 33609, [SMALL_STATE(620)] = 33632, [SMALL_STATE(621)] = 33657, [SMALL_STATE(622)] = 33676, [SMALL_STATE(623)] = 33699, [SMALL_STATE(624)] = 33720, [SMALL_STATE(625)] = 33745, [SMALL_STATE(626)] = 33770, [SMALL_STATE(627)] = 33793, [SMALL_STATE(628)] = 33816, [SMALL_STATE(629)] = 33837, [SMALL_STATE(630)] = 33860, [SMALL_STATE(631)] = 33883, [SMALL_STATE(632)] = 33906, [SMALL_STATE(633)] = 33929, [SMALL_STATE(634)] = 33952, [SMALL_STATE(635)] = 33975, [SMALL_STATE(636)] = 33998, [SMALL_STATE(637)] = 34023, [SMALL_STATE(638)] = 34046, [SMALL_STATE(639)] = 34071, [SMALL_STATE(640)] = 34096, [SMALL_STATE(641)] = 34121, [SMALL_STATE(642)] = 34144, [SMALL_STATE(643)] = 34167, [SMALL_STATE(644)] = 34190, [SMALL_STATE(645)] = 34213, [SMALL_STATE(646)] = 34238, [SMALL_STATE(647)] = 34263, [SMALL_STATE(648)] = 34286, [SMALL_STATE(649)] = 34309, [SMALL_STATE(650)] = 34332, [SMALL_STATE(651)] = 34355, [SMALL_STATE(652)] = 34380, [SMALL_STATE(653)] = 34403, [SMALL_STATE(654)] = 34426, [SMALL_STATE(655)] = 34451, [SMALL_STATE(656)] = 34474, [SMALL_STATE(657)] = 34497, [SMALL_STATE(658)] = 34519, [SMALL_STATE(659)] = 34541, [SMALL_STATE(660)] = 34563, [SMALL_STATE(661)] = 34585, [SMALL_STATE(662)] = 34607, [SMALL_STATE(663)] = 34629, [SMALL_STATE(664)] = 34651, [SMALL_STATE(665)] = 34673, [SMALL_STATE(666)] = 34693, [SMALL_STATE(667)] = 34715, [SMALL_STATE(668)] = 34735, [SMALL_STATE(669)] = 34757, [SMALL_STATE(670)] = 34779, [SMALL_STATE(671)] = 34799, [SMALL_STATE(672)] = 34817, [SMALL_STATE(673)] = 34837, [SMALL_STATE(674)] = 34853, [SMALL_STATE(675)] = 34869, [SMALL_STATE(676)] = 34891, [SMALL_STATE(677)] = 34913, [SMALL_STATE(678)] = 34935, [SMALL_STATE(679)] = 34953, [SMALL_STATE(680)] = 34969, [SMALL_STATE(681)] = 34987, [SMALL_STATE(682)] = 35007, [SMALL_STATE(683)] = 35027, [SMALL_STATE(684)] = 35045, [SMALL_STATE(685)] = 35064, [SMALL_STATE(686)] = 35083, [SMALL_STATE(687)] = 35102, [SMALL_STATE(688)] = 35117, [SMALL_STATE(689)] = 35132, [SMALL_STATE(690)] = 35151, [SMALL_STATE(691)] = 35166, [SMALL_STATE(692)] = 35185, [SMALL_STATE(693)] = 35202, [SMALL_STATE(694)] = 35221, [SMALL_STATE(695)] = 35240, [SMALL_STATE(696)] = 35257, [SMALL_STATE(697)] = 35276, [SMALL_STATE(698)] = 35293, [SMALL_STATE(699)] = 35312, [SMALL_STATE(700)] = 35331, [SMALL_STATE(701)] = 35350, [SMALL_STATE(702)] = 35369, [SMALL_STATE(703)] = 35388, [SMALL_STATE(704)] = 35407, [SMALL_STATE(705)] = 35426, [SMALL_STATE(706)] = 35445, [SMALL_STATE(707)] = 35464, [SMALL_STATE(708)] = 35483, [SMALL_STATE(709)] = 35502, [SMALL_STATE(710)] = 35521, [SMALL_STATE(711)] = 35540, [SMALL_STATE(712)] = 35559, [SMALL_STATE(713)] = 35578, [SMALL_STATE(714)] = 35597, [SMALL_STATE(715)] = 35616, [SMALL_STATE(716)] = 35635, [SMALL_STATE(717)] = 35650, [SMALL_STATE(718)] = 35665, [SMALL_STATE(719)] = 35684, [SMALL_STATE(720)] = 35699, [SMALL_STATE(721)] = 35718, [SMALL_STATE(722)] = 35735, [SMALL_STATE(723)] = 35754, [SMALL_STATE(724)] = 35773, [SMALL_STATE(725)] = 35788, [SMALL_STATE(726)] = 35807, [SMALL_STATE(727)] = 35826, [SMALL_STATE(728)] = 35845, [SMALL_STATE(729)] = 35864, [SMALL_STATE(730)] = 35883, [SMALL_STATE(731)] = 35902, [SMALL_STATE(732)] = 35921, [SMALL_STATE(733)] = 35940, [SMALL_STATE(734)] = 35959, [SMALL_STATE(735)] = 35978, [SMALL_STATE(736)] = 35997, [SMALL_STATE(737)] = 36016, [SMALL_STATE(738)] = 36035, [SMALL_STATE(739)] = 36054, [SMALL_STATE(740)] = 36069, [SMALL_STATE(741)] = 36088, [SMALL_STATE(742)] = 36107, [SMALL_STATE(743)] = 36122, [SMALL_STATE(744)] = 36141, [SMALL_STATE(745)] = 36160, [SMALL_STATE(746)] = 36179, [SMALL_STATE(747)] = 36198, [SMALL_STATE(748)] = 36217, [SMALL_STATE(749)] = 36236, [SMALL_STATE(750)] = 36255, [SMALL_STATE(751)] = 36274, [SMALL_STATE(752)] = 36293, [SMALL_STATE(753)] = 36312, [SMALL_STATE(754)] = 36331, [SMALL_STATE(755)] = 36350, [SMALL_STATE(756)] = 36365, [SMALL_STATE(757)] = 36384, [SMALL_STATE(758)] = 36403, [SMALL_STATE(759)] = 36422, [SMALL_STATE(760)] = 36441, [SMALL_STATE(761)] = 36460, [SMALL_STATE(762)] = 36479, [SMALL_STATE(763)] = 36498, [SMALL_STATE(764)] = 36517, [SMALL_STATE(765)] = 36536, [SMALL_STATE(766)] = 36555, [SMALL_STATE(767)] = 36574, [SMALL_STATE(768)] = 36593, [SMALL_STATE(769)] = 36612, [SMALL_STATE(770)] = 36631, [SMALL_STATE(771)] = 36650, [SMALL_STATE(772)] = 36669, [SMALL_STATE(773)] = 36688, [SMALL_STATE(774)] = 36707, [SMALL_STATE(775)] = 36724, [SMALL_STATE(776)] = 36743, [SMALL_STATE(777)] = 36762, [SMALL_STATE(778)] = 36781, [SMALL_STATE(779)] = 36800, [SMALL_STATE(780)] = 36819, [SMALL_STATE(781)] = 36838, [SMALL_STATE(782)] = 36853, [SMALL_STATE(783)] = 36872, [SMALL_STATE(784)] = 36891, [SMALL_STATE(785)] = 36910, [SMALL_STATE(786)] = 36929, [SMALL_STATE(787)] = 36948, [SMALL_STATE(788)] = 36967, [SMALL_STATE(789)] = 36984, [SMALL_STATE(790)] = 37003, [SMALL_STATE(791)] = 37022, [SMALL_STATE(792)] = 37039, [SMALL_STATE(793)] = 37058, [SMALL_STATE(794)] = 37077, [SMALL_STATE(795)] = 37094, [SMALL_STATE(796)] = 37113, [SMALL_STATE(797)] = 37132, [SMALL_STATE(798)] = 37151, [SMALL_STATE(799)] = 37170, [SMALL_STATE(800)] = 37189, [SMALL_STATE(801)] = 37208, [SMALL_STATE(802)] = 37223, [SMALL_STATE(803)] = 37242, [SMALL_STATE(804)] = 37261, [SMALL_STATE(805)] = 37280, [SMALL_STATE(806)] = 37299, [SMALL_STATE(807)] = 37318, [SMALL_STATE(808)] = 37337, [SMALL_STATE(809)] = 37356, [SMALL_STATE(810)] = 37375, [SMALL_STATE(811)] = 37394, [SMALL_STATE(812)] = 37413, [SMALL_STATE(813)] = 37432, [SMALL_STATE(814)] = 37449, [SMALL_STATE(815)] = 37464, [SMALL_STATE(816)] = 37483, [SMALL_STATE(817)] = 37502, [SMALL_STATE(818)] = 37521, [SMALL_STATE(819)] = 37538, [SMALL_STATE(820)] = 37557, [SMALL_STATE(821)] = 37576, [SMALL_STATE(822)] = 37593, [SMALL_STATE(823)] = 37610, [SMALL_STATE(824)] = 37626, [SMALL_STATE(825)] = 37642, [SMALL_STATE(826)] = 37658, [SMALL_STATE(827)] = 37674, [SMALL_STATE(828)] = 37690, [SMALL_STATE(829)] = 37706, [SMALL_STATE(830)] = 37722, [SMALL_STATE(831)] = 37738, [SMALL_STATE(832)] = 37754, [SMALL_STATE(833)] = 37770, [SMALL_STATE(834)] = 37784, [SMALL_STATE(835)] = 37800, [SMALL_STATE(836)] = 37814, [SMALL_STATE(837)] = 37828, [SMALL_STATE(838)] = 37844, [SMALL_STATE(839)] = 37858, [SMALL_STATE(840)] = 37872, [SMALL_STATE(841)] = 37888, [SMALL_STATE(842)] = 37904, [SMALL_STATE(843)] = 37918, [SMALL_STATE(844)] = 37934, [SMALL_STATE(845)] = 37950, [SMALL_STATE(846)] = 37966, [SMALL_STATE(847)] = 37980, [SMALL_STATE(848)] = 37994, [SMALL_STATE(849)] = 38008, [SMALL_STATE(850)] = 38024, [SMALL_STATE(851)] = 38040, [SMALL_STATE(852)] = 38056, [SMALL_STATE(853)] = 38070, [SMALL_STATE(854)] = 38086, [SMALL_STATE(855)] = 38100, [SMALL_STATE(856)] = 38116, [SMALL_STATE(857)] = 38130, [SMALL_STATE(858)] = 38146, [SMALL_STATE(859)] = 38162, [SMALL_STATE(860)] = 38178, [SMALL_STATE(861)] = 38192, [SMALL_STATE(862)] = 38206, [SMALL_STATE(863)] = 38222, [SMALL_STATE(864)] = 38238, [SMALL_STATE(865)] = 38254, [SMALL_STATE(866)] = 38270, [SMALL_STATE(867)] = 38286, [SMALL_STATE(868)] = 38302, [SMALL_STATE(869)] = 38318, [SMALL_STATE(870)] = 38334, [SMALL_STATE(871)] = 38348, [SMALL_STATE(872)] = 38364, [SMALL_STATE(873)] = 38380, [SMALL_STATE(874)] = 38396, [SMALL_STATE(875)] = 38412, [SMALL_STATE(876)] = 38426, [SMALL_STATE(877)] = 38442, [SMALL_STATE(878)] = 38456, [SMALL_STATE(879)] = 38470, [SMALL_STATE(880)] = 38484, [SMALL_STATE(881)] = 38500, [SMALL_STATE(882)] = 38514, [SMALL_STATE(883)] = 38530, [SMALL_STATE(884)] = 38544, [SMALL_STATE(885)] = 38560, [SMALL_STATE(886)] = 38574, [SMALL_STATE(887)] = 38590, [SMALL_STATE(888)] = 38606, [SMALL_STATE(889)] = 38620, [SMALL_STATE(890)] = 38636, [SMALL_STATE(891)] = 38650, [SMALL_STATE(892)] = 38664, [SMALL_STATE(893)] = 38680, [SMALL_STATE(894)] = 38696, [SMALL_STATE(895)] = 38710, [SMALL_STATE(896)] = 38724, [SMALL_STATE(897)] = 38740, [SMALL_STATE(898)] = 38754, [SMALL_STATE(899)] = 38768, [SMALL_STATE(900)] = 38782, [SMALL_STATE(901)] = 38798, [SMALL_STATE(902)] = 38812, [SMALL_STATE(903)] = 38828, [SMALL_STATE(904)] = 38841, [SMALL_STATE(905)] = 38854, [SMALL_STATE(906)] = 38867, [SMALL_STATE(907)] = 38880, [SMALL_STATE(908)] = 38893, [SMALL_STATE(909)] = 38906, [SMALL_STATE(910)] = 38919, [SMALL_STATE(911)] = 38932, [SMALL_STATE(912)] = 38945, [SMALL_STATE(913)] = 38958, [SMALL_STATE(914)] = 38971, [SMALL_STATE(915)] = 38984, [SMALL_STATE(916)] = 38997, [SMALL_STATE(917)] = 39010, [SMALL_STATE(918)] = 39023, [SMALL_STATE(919)] = 39036, [SMALL_STATE(920)] = 39049, [SMALL_STATE(921)] = 39062, [SMALL_STATE(922)] = 39075, [SMALL_STATE(923)] = 39088, [SMALL_STATE(924)] = 39101, [SMALL_STATE(925)] = 39114, [SMALL_STATE(926)] = 39127, [SMALL_STATE(927)] = 39140, [SMALL_STATE(928)] = 39153, [SMALL_STATE(929)] = 39166, [SMALL_STATE(930)] = 39179, [SMALL_STATE(931)] = 39192, [SMALL_STATE(932)] = 39205, [SMALL_STATE(933)] = 39218, [SMALL_STATE(934)] = 39231, [SMALL_STATE(935)] = 39244, [SMALL_STATE(936)] = 39257, [SMALL_STATE(937)] = 39270, [SMALL_STATE(938)] = 39283, [SMALL_STATE(939)] = 39296, [SMALL_STATE(940)] = 39309, [SMALL_STATE(941)] = 39322, [SMALL_STATE(942)] = 39335, [SMALL_STATE(943)] = 39348, [SMALL_STATE(944)] = 39361, [SMALL_STATE(945)] = 39374, [SMALL_STATE(946)] = 39387, [SMALL_STATE(947)] = 39400, [SMALL_STATE(948)] = 39413, [SMALL_STATE(949)] = 39426, [SMALL_STATE(950)] = 39439, [SMALL_STATE(951)] = 39452, [SMALL_STATE(952)] = 39465, [SMALL_STATE(953)] = 39478, [SMALL_STATE(954)] = 39491, [SMALL_STATE(955)] = 39504, [SMALL_STATE(956)] = 39517, [SMALL_STATE(957)] = 39530, [SMALL_STATE(958)] = 39543, [SMALL_STATE(959)] = 39556, [SMALL_STATE(960)] = 39569, [SMALL_STATE(961)] = 39582, [SMALL_STATE(962)] = 39595, [SMALL_STATE(963)] = 39608, [SMALL_STATE(964)] = 39621, [SMALL_STATE(965)] = 39634, [SMALL_STATE(966)] = 39647, [SMALL_STATE(967)] = 39660, [SMALL_STATE(968)] = 39673, [SMALL_STATE(969)] = 39686, [SMALL_STATE(970)] = 39699, [SMALL_STATE(971)] = 39712, [SMALL_STATE(972)] = 39725, [SMALL_STATE(973)] = 39738, [SMALL_STATE(974)] = 39751, [SMALL_STATE(975)] = 39764, [SMALL_STATE(976)] = 39777, [SMALL_STATE(977)] = 39790, [SMALL_STATE(978)] = 39803, [SMALL_STATE(979)] = 39816, [SMALL_STATE(980)] = 39829, [SMALL_STATE(981)] = 39842, [SMALL_STATE(982)] = 39855, [SMALL_STATE(983)] = 39868, [SMALL_STATE(984)] = 39881, [SMALL_STATE(985)] = 39894, [SMALL_STATE(986)] = 39907, [SMALL_STATE(987)] = 39920, [SMALL_STATE(988)] = 39933, [SMALL_STATE(989)] = 39946, [SMALL_STATE(990)] = 39959, [SMALL_STATE(991)] = 39972, [SMALL_STATE(992)] = 39985, [SMALL_STATE(993)] = 39998, [SMALL_STATE(994)] = 40011, [SMALL_STATE(995)] = 40024, [SMALL_STATE(996)] = 40037, [SMALL_STATE(997)] = 40050, [SMALL_STATE(998)] = 40063, [SMALL_STATE(999)] = 40076, [SMALL_STATE(1000)] = 40089, [SMALL_STATE(1001)] = 40102, [SMALL_STATE(1002)] = 40115, [SMALL_STATE(1003)] = 40128, [SMALL_STATE(1004)] = 40141, [SMALL_STATE(1005)] = 40154, [SMALL_STATE(1006)] = 40167, [SMALL_STATE(1007)] = 40180, [SMALL_STATE(1008)] = 40193, [SMALL_STATE(1009)] = 40206, [SMALL_STATE(1010)] = 40219, [SMALL_STATE(1011)] = 40232, [SMALL_STATE(1012)] = 40245, [SMALL_STATE(1013)] = 40258, [SMALL_STATE(1014)] = 40271, [SMALL_STATE(1015)] = 40284, [SMALL_STATE(1016)] = 40297, [SMALL_STATE(1017)] = 40310, [SMALL_STATE(1018)] = 40323, [SMALL_STATE(1019)] = 40336, [SMALL_STATE(1020)] = 40349, [SMALL_STATE(1021)] = 40362, [SMALL_STATE(1022)] = 40375, [SMALL_STATE(1023)] = 40388, [SMALL_STATE(1024)] = 40401, [SMALL_STATE(1025)] = 40414, [SMALL_STATE(1026)] = 40427, [SMALL_STATE(1027)] = 40440, [SMALL_STATE(1028)] = 40453, [SMALL_STATE(1029)] = 40466, [SMALL_STATE(1030)] = 40479, [SMALL_STATE(1031)] = 40492, [SMALL_STATE(1032)] = 40505, [SMALL_STATE(1033)] = 40518, [SMALL_STATE(1034)] = 40531, [SMALL_STATE(1035)] = 40544, [SMALL_STATE(1036)] = 40557, [SMALL_STATE(1037)] = 40570, [SMALL_STATE(1038)] = 40583, [SMALL_STATE(1039)] = 40596, [SMALL_STATE(1040)] = 40609, [SMALL_STATE(1041)] = 40622, [SMALL_STATE(1042)] = 40635, [SMALL_STATE(1043)] = 40648, [SMALL_STATE(1044)] = 40661, [SMALL_STATE(1045)] = 40674, [SMALL_STATE(1046)] = 40687, [SMALL_STATE(1047)] = 40700, [SMALL_STATE(1048)] = 40713, [SMALL_STATE(1049)] = 40726, [SMALL_STATE(1050)] = 40739, [SMALL_STATE(1051)] = 40752, }; 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(940), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 0), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(896), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(642), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(840), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1046), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(837), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(834), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(841), [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(814), [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), [41] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(37), [44] = {.entry = {.count = 1, .reusable = false}}, SHIFT(940), [46] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), [48] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(7), [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(599), [56] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(724), [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(633), [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(631), [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(67), [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(117), [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(1030), [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(984), [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(27), [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(63), [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(106), [86] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(360), [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(962), [92] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(240), [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(37), [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(7), [101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), [103] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(599), [106] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(724), [109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(633), [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(631), [115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(67), [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(117), [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(1030), [124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(984), [127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(27), [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(63), [133] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(106), [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(360), [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(962), [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(240), [145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), [147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), [149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(599), [151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(724), [153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(633), [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(631), [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), [159] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), [161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1030), [163] = {.entry = {.count = 1, .reusable = false}}, SHIFT(984), [165] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27), [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), [173] = {.entry = {.count = 1, .reusable = false}}, SHIFT(962), [175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), [177] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), [179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), [181] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602), [183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(755), [185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(641), [187] = {.entry = {.count = 1, .reusable = false}}, SHIFT(643), [189] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), [191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1026), [193] = {.entry = {.count = 1, .reusable = false}}, SHIFT(983), [195] = {.entry = {.count = 1, .reusable = false}}, SHIFT(958), [197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), [199] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(334), [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), [211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124), [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), [223] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), [225] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(160), [228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(13), [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(588), [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(739), [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(652), [240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(653), [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(74), [246] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(1036), [249] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(1003), [252] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(135), [255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(161), [258] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(131), [261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(349), [264] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(907), [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), [269] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(253), [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(588), [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(739), [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(652), [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(653), [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1036), [288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1003), [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), [294] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), [298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(907), [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), [304] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(160), [307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(13), [310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(588), [313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(739), [316] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(652), [319] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(653), [322] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(74), [325] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(1036), [328] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(1003), [331] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(135), [334] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(161), [337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(131), [340] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(349), [343] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(907), [346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(253), [349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(219), [352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(9), [355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(607), [358] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(742), [361] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(650), [364] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(649), [367] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(46), [370] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(1041), [373] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(974), [376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(188), [379] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(225), [382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(102), [385] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(374), [388] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(964), [391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_function_call_expr, 2, .dynamic_precedence = 10, .production_id = 41), SHIFT(224), [394] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), [396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607), [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(742), [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(650), [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(649), [406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), [408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1041), [410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(974), [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(188), [414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225), [416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(964), [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), [424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(219), [427] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(9), [430] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(607), [433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(742), [436] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(650), [439] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(649), [442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(46), [445] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(1041), [448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(974), [451] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(188), [454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(225), [457] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(102), [460] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(374), [463] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(964), [466] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 2), SHIFT_REPEAT(224), [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access_expr, 2, .production_id = 42), [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access_expr, 2, .production_id = 42), [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), SHIFT_REPEAT(951), [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bin_op_expr, 2, .production_id = 40), [482] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510), [484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bin_op_expr, 2, .production_id = 40), [486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bin_op_expr_repeat1, 2), [488] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bin_op_expr_repeat1, 2), SHIFT_REPEAT(510), [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bin_op_expr_repeat1, 2), [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1), [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1), [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), [499] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(911), [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), [504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_upper_case_qid, 2), [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(911), [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_upper_case_qid, 2), [510] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_upper_case_qid, 1), [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_upper_case_qid, 1), [516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__atom, 1), [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_access_start, 1), [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__atom, 1), [522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT(838), [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expr, 3, .production_id = 51), [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expr, 3, .production_id = 51), [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_qid, 4), [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_qid, 4), [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_field_access_expr_repeat1, 1), [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 1), [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_qid, 3), [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_qid, 3), [541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expr, 3, .production_id = 54), [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expr, 3, .production_id = 54), [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__field_access_segment, 2), [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_access_segment, 2), [549] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_qid, 1), [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_qid, 1), [553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_expr, 1, .production_id = 21), [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_expr, 1, .production_id = 21), [557] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__function_call_target, 1), REDUCE(sym__atom, 1), [560] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__function_call_target, 1), REDUCE(sym__atom, 1), [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_call_target, 1), [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_call_target, 1), [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expr, 2), [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expr, 2), [571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_glsl_code_expr, 3, .production_id = 57), [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_glsl_code_expr, 3, .production_id = 57), [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_in_expr, 6, .production_id = 89), [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_in_expr, 6, .production_id = 89), [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else_expr, 3, .production_id = 58), [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else_expr, 3, .production_id = 58), [583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(242), [585] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expr, 3, .production_id = 39), [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expr, 3, .production_id = 39), [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__operator_as_function_inner, 3, .production_id = 52), [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__operator_as_function_inner, 3, .production_id = 52), [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expr, 2), [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expr, 2), [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negate_expr, 2), [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negate_expr, 2), [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unit_expr, 2), [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unit_expr, 2), [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_of_expr, 9, .production_id = 98), [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_expr, 9, .production_id = 98), [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_as_function_expr, 1, .production_id = 23), [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_as_function_expr, 1, .production_id = 23), [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_constant_expr, 3, .production_id = 12), [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_constant_expr, 3, .production_id = 12), [621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_char_constant_expr, 3, .production_id = 11), [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_char_constant_expr, 3, .production_id = 11), [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_constant_expr, 2, .production_id = 4), [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_constant_expr, 2, .production_id = 4), [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal_expr_group, 1), [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_expr_group, 1), [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_constant_expr, 1), [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_constant_expr, 1), [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_of_expr, 8, .production_id = 98), [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_expr, 8, .production_id = 98), [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_of_expr, 8, .production_id = 92), [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_expr, 8, .production_id = 92), [645] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expr, 4, .production_id = 75), [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expr, 4, .production_id = 75), [649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_accessor_function_expr, 2), [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_accessor_function_expr, 2), [655] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_call_expr_repeat1, 1), [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_expr_repeat1, 1), [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_in_expr, 7, .production_id = 93), [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_in_expr, 7, .production_id = 93), [669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(405), [671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181), [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_of_expr, 7, .production_id = 92), [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 92), [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_expr, 4, .production_id = 81), [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_expr, 4, .production_id = 81), [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_function_expr, 4, .production_id = 83), [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_function_expr, 4, .production_id = 83), [685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__else, 2, .production_id = 39), [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__else, 2, .production_id = 39), [689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else_expr, 4, .production_id = 84), [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else_expr, 4, .production_id = 84), [693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), [695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__call_or_atom, 1), [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__call_or_atom, 1), [701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), [703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(600), [705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801), [707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(619), [709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(616), [711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), [713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(941), [715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(943), [717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(446), [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), [727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592), [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(690), [731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(615), [733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(632), [735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), [737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1033), [739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994), [741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), [743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), [749] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), SHIFT_REPEAT(910), [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950), [754] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(950), [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(704), [759] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), SHIFT_REPEAT(903), [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(966), [764] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(966), [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(732), [769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 2, .production_id = 7), [771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(942), [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 3, .production_id = 7), [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 1), [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(440), [779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), [781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), [783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(985), [785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(369), [787] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), [789] = {.entry = {.count = 1, .reusable = false}}, SHIFT(347), [791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(922), [793] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), [795] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), [797] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), [799] = {.entry = {.count = 1, .reusable = false}}, SHIFT(936), [801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 4, .production_id = 7), [803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), [805] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(475), [808] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(383), [811] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(896), [814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(716), [817] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(637), [820] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(642), [823] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(364), [826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(481), [829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(502), [832] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(834), [835] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(942), [838] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(814), [841] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__top_decl_list, 2), SHIFT_REPEAT(492), [844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file, 2), [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(990), [850] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(990), [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), [855] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(948), [858] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bin_op_expr_repeat1, 2), SHIFT_REPEAT(510), [861] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), SHIFT_REPEAT(932), [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775), [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918), [868] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(918), [871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), [875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_pattern, 1, .production_id = 1), [877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_pattern, 1, .production_id = 1), [879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_pattern, 2, .production_id = 8), [881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_pattern, 2, .production_id = 8), [883] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(486), [886] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(361), [889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), [891] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(896), [894] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(716), [897] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(637), [900] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(642), [903] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(364), [906] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(481), [909] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(502), [912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_union_pattern_repeat1, 2), [914] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 2), SHIFT_REPEAT(492), [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), [919] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), SHIFT_REPEAT(931), [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), [928] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(486), [931] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(383), [934] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(896), [937] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(716), [940] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(637), [943] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(642), [946] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(364), [949] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(481), [952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(502), [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), [957] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 2), SHIFT_REPEAT(492), [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), [974] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_access_expr_repeat1, 2), SHIFT_REPEAT(976), [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752), [979] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), SHIFT(302), [982] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), SHIFT(180), [985] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), SHIFT(445), [988] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), SHIFT(415), [991] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), SHIFT(330), [994] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), SHIFT(184), [997] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), SHIFT(409), [1000] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), SHIFT(457), [1003] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), SHIFT(237), [1006] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), SHIFT(65), [1009] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 7, .production_id = 95), SHIFT(56), [1012] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_case_of_expr, 6, .production_id = 90), SHIFT(241), [1015] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lower_pattern, 1), [1017] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lower_pattern, 1), [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration_left, 1), [1021] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), [1023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(983), [1027] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(486), [1030] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(361), [1033] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(896), [1036] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(716), [1039] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(637), [1042] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(642), [1045] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(364), [1048] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(502), [1051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), [1053] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 2), SHIFT_REPEAT(492), [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(975), [1058] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(975), [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration_left, 2, .production_id = 5), [1063] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 3, .production_id = 13), [1065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3, .production_id = 13), [1067] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__union_argument_pattern, 1), [1069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__union_argument_pattern, 1), [1071] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_pattern_cons, 1), [1073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_pattern_cons, 1), [1075] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_pattern, 3, .production_id = 9), [1077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_pattern, 3, .production_id = 9), [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parenthesized_pattern, 3), [1081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anything_pattern, 1), [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anything_pattern, 1), [1085] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_pattern, 3, .production_id = 10), [1087] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_pattern, 3, .production_id = 10), [1089] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 6, .production_id = 59), [1091] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 6, .production_id = 59), [1093] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 2), [1095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2), [1097] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 5, .production_id = 43), [1099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 5, .production_id = 43), [1101] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_union_pattern_repeat1, 1), [1103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_pattern_repeat1, 1), [1105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__parenthesized_pattern, 3), [1107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullary_constructor_argument_pattern, 1), [1109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullary_constructor_argument_pattern, 1), [1111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 4, .production_id = 30), [1113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 4, .production_id = 30), [1115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_pattern, 4, .production_id = 28), [1117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_pattern, 4, .production_id = 28), [1119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_pattern, 1, .production_id = 2), [1121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_pattern, 1, .production_id = 2), [1123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__import_list, 2), [1125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__import_list, 2), [1127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__import_list, 2), SHIFT_REPEAT(837), [1130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator, 1), [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator, 1), [1134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operator_identifier, 1), [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operator_identifier, 1), [1138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cons_pattern, 3, .production_id = 26), [1140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cons_pattern, 3, .production_id = 26), [1142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(554), [1145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(523), [1148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), [1150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(624), [1153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(481), [1156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 1, .production_id = 3), [1158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, .production_id = 3), [1160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(872), [1162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 1, .production_id = 2), [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, .production_id = 2), [1166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(827), [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_ref_without_args, 1), [1174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(624), [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_ref, 2, .production_id = 32), [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), [1184] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(565), [1187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(519), [1190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(645), [1193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(548), [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 3, .production_id = 27), [1198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 3, .production_id = 27), [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), [1204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(645), [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 3, .production_id = 25), [1210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 3, .production_id = 25), [1212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__top_decl_list, 2), [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), [1218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625), [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), [1224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_variant, 1, .production_id = 21), [1230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(646), [1232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), [1234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 2, .production_id = 31), SHIFT_REPEAT(606), [1237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 2, .production_id = 31), SHIFT_REPEAT(584), [1240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 2, .production_id = 31), SHIFT_REPEAT(518), [1243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 2, .production_id = 31), [1245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_union_variant_repeat1, 2, .production_id = 31), SHIFT_REPEAT(646), [1248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 2, .production_id = 31), SHIFT_REPEAT(549), [1251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_variant, 2, .production_id = 46), [1253] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(593), [1256] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(517), [1259] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(625), [1262] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 2, .production_id = 31), SHIFT_REPEAT(547), [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), [1267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 1), [1269] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_anonymous_function_expr_repeat1, 1), [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declaration_left_repeat1, 1), [1273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_function_declaration_left_repeat1, 1), [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(937), [1277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881), [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672), [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(997), [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), [1287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 2), [1289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 66), [1291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 66), [1293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 5, .production_id = 85), [1295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 5, .production_id = 85), [1297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_variable, 1), [1299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_variable, 1), [1301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 64), [1303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 4, .production_id = 64), [1305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_ref_without_args, 1), [1307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_upper_case_qid_repeat1, 2), SHIFT_REPEAT(937), [1310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_type_expression, 1, .production_id = 16), [1312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_type_expression, 1, .production_id = 16), [1314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 1, .production_id = 17), [1316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 1, .production_id = 17), [1318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, .production_id = 62), [1320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, .production_id = 62), [1322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__single_type_expression, 3, .production_id = 13), [1324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__single_type_expression, 3, .production_id = 13), [1326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 44), [1328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_type, 3, .production_id = 44), [1330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_ref_repeat1, 1, .production_id = 15), [1332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_ref_repeat1, 1, .production_id = 15), [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), [1336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 1, .production_id = 15), [1338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_union_variant_repeat1, 1, .production_id = 15), [1340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_variant_repeat1, 1), [1342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_union_variant_repeat1, 1), [1344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(865), [1346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), [1348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), [1350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), [1354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), [1356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), [1358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), [1360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), [1362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(678), [1364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(680), [1368] = {.entry = {.count = 1, .reusable = false}}, SHIFT(680), [1370] = {.entry = {.count = 1, .reusable = false}}, SHIFT(500), [1372] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), [1374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(460), [1376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_constant_expr_repeat1, 2), [1378] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_constant_expr_repeat1, 2), SHIFT_REPEAT(680), [1381] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_constant_expr_repeat1, 2), SHIFT_REPEAT(680), [1384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_constant_expr_repeat2, 2), [1386] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_constant_expr_repeat2, 2), SHIFT_REPEAT(678), [1389] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_constant_expr_repeat2, 2), SHIFT_REPEAT(678), [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), [1394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), [1396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), [1398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_expression_repeat1, 2, .production_id = 31), [1400] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_expression_repeat1, 2, .production_id = 31), SHIFT_REPEAT(542), [1403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_expression, 2, .production_id = 31), [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), [1407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849), [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), [1417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), [1419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_expression, 1, .production_id = 15), [1421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), [1423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), [1425] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396), [1427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), [1429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), [1431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(494), [1433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), [1435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), [1437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [1439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), [1441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921), [1443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917), [1445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_clause, 2, .production_id = 6), [1447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), [1451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), [1453] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), [1455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), [1459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), [1461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), [1463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), [1465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(193), [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), [1471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), [1477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), [1479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(843), [1481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), [1483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887), [1485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 35), [1487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__more_case_of_branches, 1, .dynamic_precedence = 6, .production_id = 91), [1489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), [1491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2), SHIFT_REPEAT(854), [1494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 2), [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(538), [1498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 6, .production_id = 71), [1500] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat2, 2, .production_id = 70), SHIFT_REPEAT(887), [1503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat2, 2, .production_id = 70), [1505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__more_case_of_branches_repeat1, 2, .production_id = 96), [1507] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__more_case_of_branches_repeat1, 2, .production_id = 96), SHIFT_REPEAT(351), [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004), [1512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposed_type, 1), [1514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_expression_inner, 1), [1516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_expression_inner, 1, .production_id = 15), [1518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), [1520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 5, .production_id = 49), [1522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 5, .production_id = 48), [1524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_constant_expr_repeat2, 1), [1526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_constant_expr_repeat2, 1), [1528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_expression_repeat1, 2, .production_id = 32), [1530] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_constant_expr_repeat1, 1), [1532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_constant_expr_repeat1, 1), [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), [1536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_expression_repeat1, 2, .production_id = 31), SHIFT_REPEAT(543), [1539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), [1541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), [1543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044), [1545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), [1547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), [1549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047), [1551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [1553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(915), [1555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874), [1557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), [1559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 65), SHIFT_REPEAT(874), [1562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 65), [1564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_expr_repeat1, 3, .production_id = 88), [1566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), [1568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, .production_id = 63), SHIFT_REPEAT(540), [1571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, .production_id = 63), [1573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), [1575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), [1577] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, .production_id = 60), SHIFT_REPEAT(414), [1580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, .production_id = 60), [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), [1584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1043), [1600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889), [1612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_inner, 2, .production_id = 55), [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), [1616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_inner, 2, .production_id = 53), [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), [1622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(905), [1626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978), [1628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(910), [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), [1632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(995), [1634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_of_branch, 3, .production_id = 97), [1636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1008), [1638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__more_case_of_branches_repeat1, 2, .production_id = 94), [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), [1642] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_expression_repeat1, 2, .production_id = 31), SHIFT_REPEAT(544), [1645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), [1647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), [1649] = {.entry = {.count = 1, .reusable = false}}, SHIFT(914), [1651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), [1653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_clause, 3, .production_id = 20), [1655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), [1657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), [1659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(931), [1661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), [1663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928), [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(930), [1669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), [1671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_inner, 1, .production_id = 38), [1673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), [1675] = {.entry = {.count = 1, .reusable = false}}, SHIFT(945), [1677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), [1679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), [1681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(938), [1683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(976), [1685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), [1687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), [1689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), [1691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(488), [1695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949), [1701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), [1703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), [1705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), [1707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [1709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(967), [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [1713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), [1715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), [1717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), [1719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), [1721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), [1723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), [1725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), [1727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), [1729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), [1731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), [1733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), [1735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), [1737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965), [1739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(970), [1741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), [1743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), [1745] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expr_repeat1, 2, .production_id = 76), SHIFT_REPEAT(109), [1748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expr_repeat1, 2, .production_id = 76), [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [1760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), [1764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_inner, 3, .production_id = 78), [1766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), [1768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(972), [1770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__record_inner_repeat1, 2, .production_id = 80), SHIFT_REPEAT(889), [1773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__record_inner_repeat1, 2, .production_id = 80), [1775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), [1777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(973), [1779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, .production_id = 31), SHIFT_REPEAT(403), [1782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, .production_id = 31), [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932), [1788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_pattern_repeat1, 2, .production_id = 29), SHIFT_REPEAT(873), [1791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_pattern_repeat1, 2, .production_id = 29), [1793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951), [1795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), [1797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), [1799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), [1801] = {.entry = {.count = 1, .reusable = false}}, SHIFT(991), [1803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [1805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [1807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), [1809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), [1811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), [1813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), [1815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), [1817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), [1819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [1821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), [1823] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_expr_repeat1, 2, .production_id = 82), SHIFT_REPEAT(108), [1826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expr_repeat1, 2, .production_id = 82), [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(953), [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1048), [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(903), [1834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_value_qid_repeat1, 2), SHIFT_REPEAT(1044), [1837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_value_qid_repeat1, 2), [1839] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_exposing_list_repeat1, 2), SHIFT_REPEAT(569), [1842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_exposing_list_repeat1, 2), [1844] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_let_in_expr_repeat1, 2, .production_id = 87), SHIFT_REPEAT(297), [1847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_let_in_expr_repeat1, 2, .production_id = 87), [1849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1000), [1851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), [1853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), [1855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(996), [1857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), [1861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), [1863] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_expr_repeat1, 2, .production_id = 82), SHIFT_REPEAT(868), [1866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662), [1868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963), [1870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_pattern_repeat1, 2, .production_id = 10), [1872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_let_in_expr_repeat1, 2, .production_id = 86), [1874] = {.entry = {.count = 1, .reusable = false}}, SHIFT(959), [1876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(830), [1878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat1, 1), [1880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), [1882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_pattern_repeat1, 2, .production_id = 13), [1884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_expr_repeat1, 2, .production_id = 39), [1886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__record_inner_repeat1, 2, .production_id = 79), [1888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_base_identifier, 1), [1890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), [1892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_as_clause, 2, .production_id = 33), [1894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), [1896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), [1898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lower_type_name, 1), [1900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expr_repeat1, 2, .production_id = 74), [1902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__more_union_variants, 2, .production_id = 69), [1904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 3, .production_id = 77), [1906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), [1908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), [1910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_declaration, 3, .production_id = 22), [1912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [1914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), [1916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposed_union_constructors, 3), [1918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), [1920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), [1922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposed_value, 1), [1924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposed_operator, 1, .production_id = 23), [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_annotation, 3, .production_id = 14), [1928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), [1930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), [1932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_declaration_repeat2, 1, .production_id = 47), [1934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inner_declaration, 1, .production_id = 56), [1936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inner_declaration, 1), [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), [1940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, .production_id = 5), [1942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, .production_id = 61), [1944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_type, 3, .production_id = 14), [1946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_declaration, 3, .production_id = 24), [1948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 44), [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), [1954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposed_type, 2), [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), [1958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_declaration, 6, .production_id = 72), [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), [1964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), [1972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), [1976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [1978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), [1980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_clause, 3, .production_id = 19), [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), [1984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), [1986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_declaration, 3, .production_id = 18), [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(852), [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), [1994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_declaration, 4, .production_id = 37), [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), [2004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), [2012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), [2018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), [2020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), [2022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), [2024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005), [2028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), [2030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), [2032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(989), [2034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), [2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), [2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), [2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), [2042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), [2044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), [2046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [2048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), [2050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), [2052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), [2054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), [2056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(979), [2058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), [2060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), [2062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), [2064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [2066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), [2068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), [2070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), [2072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), [2074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), [2076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(993), [2078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_clause, 4, .production_id = 34), [2080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), [2082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), [2084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), [2086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [2088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(957), [2090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), [2092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), [2094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_port_annotation, 4, .production_id = 36), [2096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), [2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), [2100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), [2102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), [2104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), [2106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933), [2108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), [2110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), [2112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), [2114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__if, 2, .production_id = 39), [2116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), [2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), [2122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1001), [2124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__record_base, 2, .production_id = 45), [2126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(906), [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1006), [2132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_declaration, 5, .production_id = 50), [2134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1042), [2136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), [2138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__then, 2, .production_id = 39), [2140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929), [2142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1045), [2144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1051), [2146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposing_list, 4, .production_id = 67), [2148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposing_list, 4), [2150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), [2152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), [2154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_declaration, 6, .production_id = 68), [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_infix_declaration, 6, .production_id = 73), [2162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), [2164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), [2166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), [2168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), [2170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), [2172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), [2174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), [2178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), [2180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), [2182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), [2184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), [2186] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [2188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1012), [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1013), [2192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), [2194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1016), [2196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017), [2198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), [2200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1019), [2202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1020), [2204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), [2206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022), [2208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1023), [2210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1024), [2212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1025), [2214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), [2216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), [2218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), [2220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(838), [2222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875), [2224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), [2226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exposing_list, 5), [2228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), [2230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [2232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), [2234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3), }; #ifdef __cplusplus extern "C" { #endif void *tree_sitter_elm_external_scanner_create(void); void tree_sitter_elm_external_scanner_destroy(void *); bool tree_sitter_elm_external_scanner_scan(void *, TSLexer *, const bool *); unsigned tree_sitter_elm_external_scanner_serialize(void *, char *); void tree_sitter_elm_external_scanner_deserialize(void *, const char *, unsigned); #ifdef _WIN32 #define extern __declspec(dllexport) #endif extern const TSLanguage *tree_sitter_elm(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_lower_case_identifier, .external_scanner = { &ts_external_scanner_states[0][0], ts_external_scanner_symbol_map, tree_sitter_elm_external_scanner_create, tree_sitter_elm_external_scanner_destroy, tree_sitter_elm_external_scanner_scan, tree_sitter_elm_external_scanner_serialize, tree_sitter_elm_external_scanner_deserialize, }, .primary_state_ids = ts_primary_state_ids, }; return &language; } #ifdef __cplusplus } #endif